00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00026
00027
00028
00029
00030 #ifndef __PROGRAMMANAGER__H__
00031 #define __PROGRAMMANAGER__H__
00032
00033 #include <stdio.h>
00034 #include <stdlib.h>
00035 #include <unistd.h>
00036 #include <gtk/gtk.h>
00037
00038 #include <gdk/gdkx.h>
00039 #include <gtk/gtk.h>
00040 #include <X11/Xatom.h>
00041
00042 #include "liberipc/eripc.h"
00043 #include <liberregxml/erregapi.h>
00044
00045 #define WM_NAME_MAX 256
00046
00047 #define PM_DOWNLOADMGR_LOCATION "/usr/bin/downloadMgr"
00048
00049 #define XCLIENT_ARRAY_RESERVED_SIZE 32
00050 #define CONTENTLISTER_UAID "CONTENTLISTER"
00051 #define CONTENTLISTER_RESNAME "contentLister"
00052 #define WINDOWMANAGER_NAME_MAX 256
00053 #define UAID_MAX_SIZE 256
00054 #define COMMAND_MAX_SIZE 1024
00055
00056 #define ERR_OK ( 0)
00057 #define ERR_STATE_UPDATE (-1)
00058 #define ERR_ARGUMENT (-2)
00059 #define ERR_FORK (-3)
00060 #define ERR_INVALID_UAID (-4)
00061 #define ERR_VIEWER_RUNNING (-5)
00062
00063 typedef struct
00064 {
00065 char* uaID;
00066 char* iconLocation;
00067 } erExtInfo_t;
00068
00069 typedef struct
00070 {
00071 Window win;
00072 char resName[WINDOWMANAGER_NAME_MAX];
00073 unsigned long winState;
00074 } erXClient_t;
00075
00076 typedef struct
00077 {
00078 char uaID[UAID_MAX_SIZE];
00079 regUserApp_t *userApp;
00080 pid_t pid;
00081 erXClient_t *xclient;
00082 gboolean enabled;
00083 } erApplicationInfo_t;
00084
00085 #ifdef __cplusplus
00086 extern "C" {
00087 #endif
00088
00095 gboolean pm_InitProgramManager(void);
00096
00103 void pm_SetMyWindow(Window window);
00104
00110 void pm_DestroyProgramManager(void);
00111
00117 gboolean pm_RaiseContentLister();
00118
00124 gboolean pm_RaiseUserApp(gchar* uaId);
00125
00131 gboolean pm_IsActive(gchar* uaId);
00132
00138 char* pm_getUaOnTop(void);
00139
00145 void pm_setUaOnTop(char* uaID);
00146
00150 void pm_SendKey(KeySym keysym);
00151
00167 int pm_RunViewer(gchar* uaId, char* filename, char* manifest, char* options, int reuse);
00168
00169
00175 char* pm_getUaID(char* extension);
00176
00182 char* pm_getIcon(char* extension);
00183 #ifdef __cplusplus
00184 }
00185 #endif
00186
00187 #endif