00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef INCL_MANAGE_LISTENER
00038 #define INCL_MANAGE_LISTENER
00039
00041 #include "event/SyncListener.h"
00042 #include "event/SyncItemListener.h"
00043 #include "event/SyncStatusListener.h"
00044 #include "event/SyncSourceListener.h"
00045 #include "event/TransportListener.h"
00046 #include "base/globalsdef.h"
00047
00048 BEGIN_NAMESPACE
00049
00050
00051
00052
00053
00054
00055
00056
00057 class ManageListener {
00058
00059 public:
00060
00062 static ManageListener & getInstance();
00064 static void releaseAllListeners();
00065
00072 SyncListener* getSyncListener(const char *name = "");
00074 SyncListener* getSyncListener(int pos);
00075
00082 TransportListener* getTransportListener(const char *name = "");
00084 TransportListener* getTransportListener(int pos);
00085
00092 SyncSourceListener* getSyncSourceListener(const char *name = "");
00094 SyncSourceListener* getSyncSourceListener(int pos);
00095
00102 SyncItemListener* getSyncItemListener(const char *name = "");
00104 SyncItemListener* getSyncItemListener(int pos);
00105
00112 SyncStatusListener* getSyncStatusListener(const char *name = "");
00114 SyncStatusListener* getSyncStatusListener(int pos);
00115
00116 void setSyncListener (SyncListener* listener);
00117 void setTransportListener (TransportListener* listener);
00118 void setSyncSourceListener(SyncSourceListener* listener);
00119 void setSyncItemListener (SyncItemListener* listener);
00120 void setSyncStatusListener(SyncStatusListener* listener);
00121
00122 void unsetSyncListener(const char *name = "");
00123 void unsetTransportListener(const char *name = "");
00124 void unsetSyncSourceListener(const char *name = "");
00125 void unsetSyncItemListener(const char *name = "");
00126 void unsetSyncStatusListener(const char *name = "");
00127
00128 int countSyncListeners() const { return synclisteners.size(); };
00129 int countTransportListeners() const { return transportlisteners.size(); };
00130 int countSyncStatusListeners() const { return syncstatuslisteners.size(); };
00131 int countSyncItemListeners() const { return syncitemlisteners.size(); };
00132 int countSyncSourceListeners() const { return syncsourcelisteners.size(); };
00133
00134 private:
00135 static ManageListener *instance;
00136
00137
00138 ArrayList synclisteners;
00139 ArrayList transportlisteners;
00140 ArrayList syncstatuslisteners;
00141 ArrayList syncitemlisteners;
00142 ArrayList syncsourcelisteners;
00143
00144
00145 ManageListener() {}
00146 ~ManageListener();
00147
00148
00149 Listener *lookupListener(const char* name, ArrayList &list);
00150
00151
00152 bool setListener(Listener* listener, ArrayList &list);
00153
00154
00155
00156 void unsetListener(const char* name, ArrayList &list);
00157
00158 };
00159
00160 END_NAMESPACE
00161
00163 #endif
00164