summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbustico2008-05-19 17:06:48 +0000
committerbustico2008-05-19 17:06:48 +0000
commit8152d4f2363ab1ea5c5ce3f4ccec9fb178ac675c (patch)
tree93ed37a1d9d28486ab90921df524a80f9ca304b2
parent7e3e1ead3c3d49e971b10136ebe003cac54a1e08 (diff)
downloadivy-cplusplus-8152d4f2363ab1ea5c5ce3f4ccec9fb178ac675c.zip
ivy-cplusplus-8152d4f2363ab1ea5c5ce3f4ccec9fb178ac675c.tar.gz
ivy-cplusplus-8152d4f2363ab1ea5c5ce3f4ccec9fb178ac675c.tar.bz2
ivy-cplusplus-8152d4f2363ab1ea5c5ce3f4ccec9fb178ac675c.tar.xz
follow the little api change of newezr version of ivy-c
-rw-r--r--Ivy.cxx20
-rw-r--r--IvyCallback.h32
-rw-r--r--Ivycpp.h8
-rw-r--r--debian/changelog10
4 files changed, 63 insertions, 7 deletions
diff --git a/Ivy.cxx b/Ivy.cxx
index 9aa420e..bc40715 100644
--- a/Ivy.cxx
+++ b/Ivy.cxx
@@ -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 )
diff --git a/Ivycpp.h b/Ivycpp.h
index a85db3d..abad2d7 100644
--- a/Ivycpp.h
+++ b/Ivycpp.h
@@ -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