24 #ifndef INC_syncGroup_H 25 #define INC_syncGroup_H 37 static const unsigned CASG_MAGIC = 0xFAB4CAFE;
52 unsigned level )
const = 0;
63 typedef void (
CASG :: * PRecycleFunc )
67 CASG &, PRecycleFunc,
chid,
void *pValueIn );
84 PRecycleFunc pRecycleFunc;
91 void operator delete (
void * );
92 void *
operator new ( size_t,
94 epicsPlacementDeleteOperator ((
void *,
103 syncGroupReadNotify & operator = ( const syncGroupReadNotify & );
108 typedef void (
CASG :: * PRecycleFunc )
129 PRecycleFunc pRecycleFunc;
131 const unsigned magic;
135 void operator delete (
void * );
136 void *
operator new ( size_t,
138 epicsPlacementDeleteOperator ((
void *,
145 syncGroupWriteNotify & operator = ( const syncGroupWriteNotify & );
166 void show (
unsigned level )
const;
171 void completionNotify (
173 int printFormated (
const char * pFormat, ... );
176 const char * pFileName,
unsigned lineNo );
181 void *
operator new (
size_t size,
183 epicsPlacementDeleteOperator ((
void *,
195 void destroyPendingIO (
198 void destroyCompletedIO (
201 void recycleReadNotifyIO (
epicsGuard < epicsMutex > &,
202 syncGroupReadNotify & );
203 void recycleWriteNotifyIO (
epicsGuard < epicsMutex > &,
204 syncGroupWriteNotify & );
206 CASG ( const CASG & );
207 CASG & operator = ( const CASG & );
209 void operator delete (
void * );
213 friend class sgAutoPtr < syncGroupWriteNotify >;
214 friend class sgAutoPtr < syncGroupReadNotify >;
219 boolFlagManager (
bool & flag );
235 *this->pBool =
false;
244 inline void * CASG::operator
new (
size_t size,
247 return freeList.allocate ( size );
250 #if defined ( CXX_PLACEMENT_DELETE ) 251 inline void CASG::operator
delete (
void * pCadaver,
254 freeList.release ( pCadaver );
261 return ! this->ioComplete;
267 return ! this->ioComplete;
270 #endif // ifdef INC_syncGroup_H
virtual void cancel(CallbackGuard &cbGuard, epicsGuard< epicsMutex > &mutualExclusionGuard)=0
std::tr1::shared_ptr< detail::SharedPut > put
virtual bool ioPending(epicsGuard< epicsMutex > &guard)=0
pvd::StructureConstPtr type
virtual void show(epicsGuard< epicsMutex > &, unsigned level) const =0
bool ioPending(epicsGuard< epicsMutex > &guard)
virtual ~syncGroupNotify()
syncGroupNotify & operator=(const syncGroupNotify &)
boolFlagManager(bool &flag)
bool ioPending(epicsGuard< epicsMutex > &guard)
APIs for the epicsEvent binary semaphore.
virtual void destroy(CallbackGuard &cbGuard, epicsGuard< epicsMutex > &guard)=0
unsigned long arrayElementCount
ChannelPut::shared_pointer op
Compiler specific declarations.