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