Introduction Manual Class Reference Header Reference

zoidcom_node_interceptors.h

Go to the documentation of this file.
00001 /****************************************
00002 * zoidcom_node_interceptors.h
00003 * interceptor interface
00004 *
00005 * This file is part of the "Zoidcom Automated Networking System" application library.
00006 * Copyright (C)2002-2007 by Joerg Rueppel. See documentation for copyright and licensing details.
00007 *****************************************/
00008 
00009 #ifndef _ZOIDNODEINTERCEPT_H_
00010 #define _ZOIDNODEINTERCEPT_H_
00011 
00012 #include "zoidcom.h"
00013 
00014 // forward
00015 class ZCom_Replicator;
00016 
00033 class ZCom_NodeEventInterceptor
00034 {
00035 public:
00036   ZCOM_API virtual ~ZCom_NodeEventInterceptor() {}
00037   
00049   ZCOM_API virtual bool 
00050     recUserEvent(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole, ZCom_BitStream &_data, zU32 _estimated_time_sent) = 0;
00051 
00062   ZCOM_API virtual bool 
00063     recInit(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole) = 0;
00064 
00074   ZCOM_API virtual bool 
00075     recSyncRequest(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole) = 0;
00076 
00086   ZCOM_API virtual bool 
00087     recRemoved(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole) = 0;
00088 
00100   ZCOM_API virtual bool 
00101     recFileIncoming(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole, ZCom_FileTransID _fid, ZCom_BitStream &_request) = 0;
00102 
00113   ZCOM_API virtual bool 
00114     recFileData(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole, ZCom_FileTransID _fid) = 0;
00115 
00126   ZCOM_API virtual bool 
00127     recFileAborted(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole, ZCom_FileTransID _fid) = 0;
00128 
00139   ZCOM_API virtual bool 
00140     recFileComplete(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole, ZCom_FileTransID _fid) = 0;
00141 
00142   /* callback block for copy & pasting into your derived class
00143     bool recUserEvent(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole, ZCom_BitStream &_data, zU32 _estimated_time_sent) {return true;}
00144     bool recInit(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole) {return true;}
00145     bool recSyncRequest(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole) {return true;}
00146     bool recRemoved(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole) {return true;}
00147     bool recFileIncoming(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole, ZCom_FileTransID _fid, ZCom_BitStream &_request) {return true;}
00148     bool recFileData(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole, ZCom_FileTransID _fid) {return true;}
00149     bool recFileAborted(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole, ZCom_FileTransID _fid) {return true;}
00150     bool recFileComplete(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remoterole, ZCom_FileTransID _fid) {return true;}
00151   */
00152 };
00153 
00159 class ZCom_NodeReplicationInterceptor
00160 {
00161 public:
00162   ZCOM_API virtual ~ZCom_NodeReplicationInterceptor() {}
00163   
00169   ZCOM_API virtual void 
00170     outPreReplicateNode(ZCom_Node *_node, ZCom_ConnID _to, eZCom_NodeRole _remote_role) = 0;
00171 
00179   ZCOM_API virtual void 
00180     outPreDereplicateNode(ZCom_Node *_node, ZCom_ConnID _to, eZCom_NodeRole _remote_role) = 0;
00181 
00188   ZCOM_API virtual bool 
00189     outPreUpdate(ZCom_Node *_node, ZCom_ConnID _to, eZCom_NodeRole _remote_role) = 0;
00190 
00208   ZCOM_API virtual bool 
00209     outPreUpdateItem(ZCom_Node *_node, ZCom_ConnID _to, eZCom_NodeRole _remote_role, ZCom_Replicator *_replicator) = 0;
00210 
00221   ZCOM_API virtual void 
00222     outPostUpdate(ZCom_Node *_node, ZCom_ConnID _to, eZCom_NodeRole _remote_role, zU32 _rep_bits, zU32 _event_bits, zU32 _meta_bits) = 0;
00223 
00231   ZCOM_API virtual bool 
00232     inPreUpdate(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remote_role) = 0;
00233 
00249   ZCOM_API virtual bool 
00250     inPreUpdateItem(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remote_role, ZCom_Replicator *_replicator, zU32 _estimated_time_sent) = 0;
00251 
00262   ZCOM_API virtual void 
00263     inPostUpdate(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remote_role, zU32 _rep_bits, zU32 _event_bits, zU32 _meta_bits) = 0;
00264 
00265   /* callback block for copy & pasting into your derived class
00266     void outPreReplicateNode(ZCom_Node *_node, ZCom_ConnID _to, eZCom_NodeRole _remote_role) {}
00267     void outPreDereplicateNode(ZCom_Node *_node, ZCom_ConnID _to, eZCom_NodeRole _remote_role) {}
00268     bool outPreUpdate(ZCom_Node *_node, ZCom_ConnID _to, eZCom_NodeRole _remote_role) { return true; }
00269     bool outPreUpdateItem(ZCom_Node *_node, ZCom_ConnID _to, eZCom_NodeRole _remote_role, ZCom_Replicator *_replicator) { return true; }
00270     void outPostUpdate(ZCom_Node *_node, ZCom_ConnID _to, eZCom_NodeRole _remote_role, zU32 _rep_bits, zU32 _event_bits, zU32 _meta_bits) {}
00271     bool inPreUpdate(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remote_role) { return true; }
00272     bool inPreUpdateItem(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remote_role, ZCom_Replicator *_replicator, zU32 _estimated_time_sent) { return true; }
00273     void inPostUpdate(ZCom_Node *_node, ZCom_ConnID _from, eZCom_NodeRole _remote_role, zU32 _rep_bits, zU32 _event_bits, zU32 _meta_bits) {}
00274   */
00275 };
00276 
00277 #endif

This file is part of the documentation for Zoidcom. Documentation copyright © 2004-2008 by Jörg Rüppel. Generated on Sat Aug 16 15:26:49 2008 for Zoidcom by doxygen 1.4.6-NO