21 #ifndef ABSTRACTWATCHER_H
22 #define ABSTRACTWATCHER_H
25 #include "WorkItemPool.h"
50 const unsigned long objectSize = 0,
NotificationType objectType = NotificationObject::TYPE_XMLDOM ) :
51 m_ObjectId( objectId ), m_ObjectGroupId( objectGroupId ), m_ObjectSize( objectSize ),
52 m_Object( NULL ), m_ObjectType( objectType )
56 const unsigned long objectSize = 0,
NotificationType objectType = NotificationObject::TYPE_XMLDOM ) :
57 m_ObjectId( objectId ), m_ObjectGroupId( objectGroupId ), m_ObjectSize( objectSize ),
58 m_Object( object ), m_ObjectType( objectType )
62 m_ObjectId( source.m_ObjectId ), m_ObjectGroupId( source.m_ObjectGroupId ), m_ObjectSize( source.m_ObjectSize ),
63 m_Object( source.m_Object ), m_ObjectType( source.m_ObjectType )
69 if (
this == &source )
84 template<
typename T >
85 T*
getObject()
const {
return dynamic_cast< T*
>( m_Object ); }
97 m_Callback = callback;
102 m_NotificationPool = notificationPool;
105 void setIdleCallback(
void ( *callback )(
void ),
unsigned int seconds )
107 m_IdleTimeout = seconds;
108 m_IdleCallback = callback;
114 m_Callback( NULL ), m_PrepareCallback( prepareCallback ), m_IdleCallback( NULL ),
115 m_ScanThreadId( 0 ), m_Enabled( false ), m_NotificationType(
NotificationObject::TYPE_XMLDOM ),
116 m_IdleTimeout( 0 ), m_NotificationPool( notificationPool )
121 m_Callback( callback ), m_PrepareCallback( prepareCallback ), m_IdleCallback( NULL ),
122 m_ScanThreadId( 0 ), m_Enabled( false ), m_NotificationType(
NotificationObject::TYPE_XMLDOM ),
123 m_IdleTimeout( 0 ), m_NotificationPool( NULL )
127 virtual void internalScan() = 0;
130 void *( *m_PrepareCallback )(
void *object );
131 void ( *m_IdleCallback )( void );
144 void setEnableRaisingEvents(
bool val );
145 void setObjectPrepareMethod(
void *( *prepareCallback )(
void* ) );
149 m_NotificationType = notifType;
158 static void* ScanInNewThread(
void *pThis );
162 #endif //ABSTRACTWATCHER_H