24 #ifndef __LLUF_STARTUP_SYNCHRONIZER_H__ 
   25 #define __LLUF_STARTUP_SYNCHRONIZER_H__ 
   28     #ifdef lluf_startup_synchronizer_EXPORTS 
   29         #define LLUF_SS_API __declspec(dllexport) 
   31         #define LLUF_SS_API __declspec(dllimport) 
   32         #pragma comment(lib , "lluf_startup_synchronizer.lib") 
   34 #elif defined __GNUC__ 
   38 #include <boost/noncopyable.hpp> 
   39 #include <boost/shared_ptr.hpp> 
   44 #pragma warning (push) 
   45 #pragma warning (disable: 4275) 
   54     class StartupSynchronizerImpl;
 
   83         virtual void Use() = 0;
 
  111         private boost::noncopyable
 
  144 #pragma warning (push) 
  145 #pragma warning (disable: 4251) 
  148         boost::shared_ptr<StartupSynchronizerImpl> m_impl;
 
  151 #pragma warning (pop) 
  163 #pragma warning (pop) 
virtual void Use()=0
All processes will get a call to Use, even the one that got the Create callback. 
virtual ~Synchronized()
Definition: StartupSynchronizer.h:65
This class can be used to synchronize creation and opening of a resource that is shared between multi...
Definition: StartupSynchronizer.h:110
virtual void Create()=0
Guarantees are that only one call to Create in all processes will be made. 
virtual void Destroy()=0
This callback will be called when the last process destroys its StartupSynchronizer. 
Interface for a synchronized object. 
Definition: StartupSynchronizer.h:62