From cd90995ca02faac49eec142a8af6a9057fb0574e Mon Sep 17 00:00:00 2001 From: fcolin Date: Thu, 1 Feb 2007 12:57:23 +0000 Subject: Utilisateur : Fcolin Date : 17/11/05 Heure : 15:08 Archivé dans $/Bus/Ivy Commentaire: nice Bug in nextArg not reentrant routine due to static variable (vss 13) --- Bus/Ivy/Ivy.h | 52 +++++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 25 deletions(-) (limited to 'Bus/Ivy/Ivy.h') diff --git a/Bus/Ivy/Ivy.h b/Bus/Ivy/Ivy.h index fea2a93..7536f32 100644 --- a/Bus/Ivy/Ivy.h +++ b/Bus/Ivy/Ivy.h @@ -28,18 +28,41 @@ class _declspec(dllimport) CBufferedSocket; #include "IvyCallback.h" -class IvyWatcher; - -class IvyApplication; class Ivy { + friend class IvyWatcher; + + friend class IvyApplication; + private: int regexp_id; unsigned int applicationPort; void SendSubscriptions(IvyApplication *app); + bool synchronous; // use Window Shink to made CB mono thread like + IvyApplication * server; + IvyWatcher * watcher; + IvyDieCallback *die_callback; + IvyDirectMessageCallback *direct_callback; + IvyApplicationCallback *application_callback; + /* list des adresses de broadcast */ + ivy::string domain; + /* nom de l'appliction */ + ivy::string appname; + /* liste des clients connectes */ + CRITICAL_SECTION m_application_cs; + typedef ivy::list IvyApplicationList; + IvyApplicationList applications; -public: + /* liste des souscriptions locale a emettre aux autres applications */ + ivy::vector regexp_out; + /* liste des callbacks a appeler */ + ivy::vector< IvyMessageCallback* > callbacks; + /* classes de messages emis par l'application utilise pour le filtrage */ + int messages_classes_count; + const char **messages_classes; + +protected: void AddApplication( IvyApplication *app ); void RemoveApplication( IvyApplication *app); @@ -75,27 +98,6 @@ public: ivy::string ready_message; protected: - bool synchronous; // use Window Shink to made CB mono thread like - IvyApplication * server; - IvyWatcher * watcher; - IvyDieCallback *die_callback; - IvyDirectMessageCallback *direct_callback; - IvyApplicationCallback *application_callback; - /* list des adresses de broadcast */ - ivy::string domain; - /* nom de l'appliction */ - ivy::string appname; - /* liste des clients connectes */ - CRITICAL_SECTION m_application_cs; - typedef ivy::list IvyApplicationList; - IvyApplicationList applications; - /* liste des souscriptions locale a emettre aux autres applications */ - ivy::vector regexp_out; - /* liste des callbacks a appeler */ - ivy::vector< IvyMessageCallback* > callbacks; - /* classes de messages emis par l'application utilise pour le filtrage */ - int messages_classes_count; - const char **messages_classes; }; -- cgit v1.1