diff options
-rw-r--r-- | Ivy.cxx | 20 | ||||
-rw-r--r-- | IvyCallback.h | 32 | ||||
-rw-r--r-- | Ivycpp.h | 8 | ||||
-rw-r--r-- | debian/changelog | 10 |
4 files changed, 63 insertions, 7 deletions
@@ -298,6 +298,15 @@ IvyApplication *appObj = new IvyApplication( app ); case IvyC::IvyApplicationDisconnected: callback->OnApplicationDisconnected( appObj ); break; + case IvyC::IvyApplicationCongestion: + callback->OnApplicationCongestion( appObj ); + break; + case IvyC::IvyApplicationDecongestion: + callback->OnApplicationDecongestion( appObj ); + break; + case IvyC::IvyApplicationFifoFull: + callback->OnApplicationFifoFull( appObj ); + break; } delete appObj; } @@ -371,7 +380,7 @@ void Ivy::MsgCb( IvyC::IvyClientPtr app, void *user_data, int argc, char **argv } -void Ivy::BindCallbackCb( IvyC::IvyClientPtr app, void *user_data, int id, char *msg, +void Ivy::BindCallbackCb( IvyC::IvyClientPtr app, void *user_data, int id, const char *regexp, IvyC::IvyBindEvent event) { IvyBindingCallback *cb = (IvyBindingCallback *)user_data; @@ -380,13 +389,16 @@ void Ivy::BindCallbackCb( IvyC::IvyClientPtr app, void *user_data, int id, char switch ( event ) { case IvyC::IvyAddBind : - cb->OnAddBind ( appObj, id, msg); + cb->OnAddBind ( appObj, id, regexp); break; case IvyC::IvyRemoveBind : - cb->OnRemoveBind( appObj, id, msg ); + cb->OnRemoveBind( appObj, id, regexp ); break; case IvyC::IvyFilterBind : - cb->OnFilterBind( appObj, id, msg ); + cb->OnFilterBind( appObj, id, regexp ); + break; + case IvyC::IvyChangeBind : + cb->OnChangeBind( appObj, id, regexp ); break; } delete appObj; diff --git a/IvyCallback.h b/IvyCallback.h index aa866b8..540690d 100644 --- a/IvyCallback.h +++ b/IvyCallback.h @@ -78,6 +78,9 @@ class IvyApplicationCallback { public: virtual void OnApplicationConnected (IvyApplication *app) = 0; virtual void OnApplicationDisconnected (IvyApplication *app) = 0; + virtual void OnApplicationCongestion (IvyApplication *app) = 0; + virtual void OnApplicationDecongestion (IvyApplication *app) = 0; + virtual void OnApplicationFifoFull (IvyApplication *app) = 0; virtual ~IvyApplicationCallback() { } @@ -88,6 +91,12 @@ public: {}; virtual void OnApplicationDisconnected (IvyApplication *app) {}; + virtual void OnApplicationCongestion (IvyApplication *app) + {}; + virtual void OnApplicationDecongestion (IvyApplication *app) + {}; + virtual void OnApplicationFifoFull (IvyApplication *app) + {}; virtual ~IvyApplicationNullCallback() { } @@ -99,6 +108,9 @@ public: typedef void ( *IvyApplicationCallback_fun )( IvyApplication *app ); IvyApplicationCallback_fun ApplicationConnectedCb; IvyApplicationCallback_fun ApplicationDisconnectedCb; + IvyApplicationCallback_fun ApplicationCongestionCb; + IvyApplicationCallback_fun ApplicationDecongestionCb; + IvyApplicationCallback_fun ApplicationFifoFullCb; public: IvyApplicationCallbackFunction ( IvyApplicationCallback_fun con_cb, IvyApplicationCallback_fun disc_cb) @@ -116,6 +128,18 @@ public: { (*ApplicationDisconnectedCb) (app); }; + virtual void OnApplicationCongestion (IvyApplication *app) + { + (*ApplicationCongestionCb) (app); + }; + virtual void OnApplicationDecongestion (IvyApplication *app) + { + (*ApplicationDecongestionCb) (app); + }; + virtual void OnApplicationFifoFull (IvyApplication *app) + { + (*ApplicationFifoFullCb) (app); + }; /* raccourci d'ecriture */ #define BUS_APPLICATION_CALLBACK( conn, disconn ) new IvyApplicationCallbackFunction( conn, disconn ) @@ -128,6 +152,7 @@ public: virtual void OnAddBind (IvyApplication *app, int id, const char * regexp) = 0; virtual void OnRemoveBind (IvyApplication *app, int id, const char * regexp) = 0; virtual void OnFilterBind (IvyApplication *app, int id, const char * regexp) = 0; + virtual void OnChangeBind (IvyApplication *app, int id, const char * regexp) = 0; virtual ~IvyBindingCallback() { } @@ -141,6 +166,8 @@ public: {}; virtual void OnFilterBind (IvyApplication *app, int id, const char * regexp) {}; + virtual void OnChangeBind (IvyApplication *app, int id, const char * regexp) + {}; virtual ~IvyBindingNullCallback() { } @@ -152,6 +179,7 @@ public: IvyBindingCallback_fun BindingAddCb; IvyBindingCallback_fun BindingRemoveCb; IvyBindingCallback_fun BindingFilterCb; + IvyBindingCallback_fun BindingChangeCb; public: IvyBindingCallbackFunction ( IvyBindingCallback_fun add_cb, IvyBindingCallback_fun remove_cb, IvyBindingCallback_fun filter_cb ) @@ -173,6 +201,10 @@ public: { if(BindingFilterCb ) (*BindingFilterCb) (app, id, regexp); }; + virtual void OnChangeBind (IvyApplication *app, int id, const char * regexp) + { + if(BindingChangeCb ) (*BindingChangeCb) (app, id, regexp); + }; /* raccourci d'ecriture */ #define BUS_BINDING_CALLBACK( add, remove, filter ) new IvyBindingCallbackFunction( add, remove, filter ) @@ -35,10 +35,12 @@ public: virtual ~Ivy(); static long BindMsg (const char *regexp, IvyMessageCallback *cb ); - static long BindMsg (IvyMessageCallback *cb, const char *regexp, ... ); + static long BindMsg (IvyMessageCallback *cb, const char *regexp, ... ) + __attribute__((format(printf,2,3))); static void UnbindMsg( int id ); - static int SendMsg(const char * message, ... ); + static int SendMsg(const char * message, ... ) + __attribute__((format(printf,1,2))) ; static void SendDirectMsg( IvyApplication *app, int id, const char *message); static void BindDirectMsg( IvyDirectMessageCallback *callback ); @@ -59,7 +61,7 @@ protected: static void DieCb( IvyC::IvyClientPtr app, void *user_data, int id ) ; static void MsgCb( IvyC::IvyClientPtr app, void *user_data, int argc, char **argv ) ; static void MsgDirectCb( IvyC::IvyClientPtr app, void *user_data, int id, char *msg ) ; - static void BindCallbackCb( IvyC::IvyClientPtr app, void *user_data, int id, char *msg, + static void BindCallbackCb( IvyC::IvyClientPtr app, void *user_data, int id, const char *regexp, IvyC::IvyBindEvent event) ; #ifdef USE_GLFW static void GLFWCALL ivyMainLoopInSeparateThread (void *arg); diff --git a/debian/changelog b/debian/changelog index bcf6a2e..5c73f96 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +ivy-cpp (1.1-0) unstable; urgency=low + + * Add new callback virtual method introduced by ivy-c 3.11 non blocking + scheme : congestion, decongestion, fifofull + * Add forgotten callback virtual method : changebind + * add __attribute__ gcc hooks which permit to emit warning when format + and arguments of bindmessage and sendmessage aren't concordant. + + -- Alexandre Bustico <bustico@cena.fr> Thu, 15 May 2008 15:28:37 +0200 + ivy-cpp (1.0-8) unstable; urgency=low * Add die callback to IvyInit |