34 #include "InstrumentedObject.h"
35 #include "FilterChain.h"
37 #include "Transactions/AbstractStatePersistence.h"
38 #include "BatchManager/BatchManager.h"
39 #include "AppSettings.h"
41 #include "AbstractWatcher.h"
42 #include "AppExceptions.h"
392 static string getName(
const ConfigDirection prefix,
const ConfigSettings setting );
401 string internalPrepare();
402 void internalCommit(
const string& correlationId );
403 void internalAbort(
const string& correlationId );
404 void internalRollback(
const string& correlationId );
405 void internalProcess(
const string& correlationId );
409 #if defined( WIN32 ) && defined ( CHECK_MEMLEAKS )
410 _CrtMemState m_NextMemoryState, m_OldMemoryState;
411 bool m_OldStateAvailable;
424 virtual void internalStart() = 0;
425 virtual void internalStop() = 0;
430 void setCorrelationId(
const string& correlationId );
432 AppSettings& getGlobalSettings()
const;
472 static void* StartInNewThread(
void* );
477 virtual void Init() = 0;
482 virtual string Prepare() = 0;
485 virtual void Commit() = 0;
488 virtual void Abort() = 0;
491 virtual void Rollback() = 0;
495 virtual void Process(
const string& correlationId ) = 0;
498 bool PerformMessageLoop();
499 bool PerformMessageLoop(
bool inBatch );
503 virtual void trackMessage(
const string& payload,
const NameValueCollection& transportHeaders );
508 m_ManagementCallback = callback;
512 void setPersistenceFacility( AbstractStatePersistence* facility );
513 AbstractStatePersistence* getPersistenceFacility();
521 virtual pthread_t getWatcherThreadId() = 0;
536 #endif //QPIENDPOINT_H