how to create a global singleton object in exe
2010-01-11 17:04
441 查看
// how to create a global singleton object
const TInt KMarkTlsHandle = 0xC0FFEE;
class CYourClass: public CBase
{
public:
CYourClass(){};
void ConstructL(){};
~CYourClass();
};
CYourClass::~CYourClass()
{
//release TLS
UserSvr::DllFreeTls(KMarkTlsHandle);
}
//how to create a global singleton object
void CMarkEComWrapper::DoCommandCreateSingletonObject()
{
TInt err = KErrNone;
//Get object from STL
CYourClass* iSingletonObject = static_cast<CYourClass*> (UserSvr::DllTls(KMarkTlsHandle));
//if not, create one
if (!iSingletonObject)
{
iSingletonObject = new (ELeave) CYourClass;
CleanupStack::PushL(iSingletonObject);
iSingletonObject->ConstructL();
err = UserSvr::DllSetTls( KMarkTlsHandle, iSingletonObject );
CleanupStack::Pop(iSingletonObject);
}
delete iSingletonObject ;
iSingletonObject = 0;
}
const TInt KMarkTlsHandle = 0xC0FFEE;
class CYourClass: public CBase
{
public:
CYourClass(){};
void ConstructL(){};
~CYourClass();
};
CYourClass::~CYourClass()
{
//release TLS
UserSvr::DllFreeTls(KMarkTlsHandle);
}
//how to create a global singleton object
void CMarkEComWrapper::DoCommandCreateSingletonObject()
{
TInt err = KErrNone;
//Get object from STL
CYourClass* iSingletonObject = static_cast<CYourClass*> (UserSvr::DllTls(KMarkTlsHandle));
//if not, create one
if (!iSingletonObject)
{
iSingletonObject = new (ELeave) CYourClass;
CleanupStack::PushL(iSingletonObject);
iSingletonObject->ConstructL();
err = UserSvr::DllSetTls( KMarkTlsHandle, iSingletonObject );
CleanupStack::Pop(iSingletonObject);
}
delete iSingletonObject ;
iSingletonObject = 0;
}
相关文章推荐
- How to create Immutable Class and Object in Java - Tutorial Example
- How to create a new object in Windchill with IBAs
- How to implement a singleton class in Symbian OS
- How to Create an Video Player in jQuery, HTML5 & CSS3
- How to create a site with AJAX enabled in MVC framework.
- How to get the object type in javascript:
- How to create readonly columns in MOSS 2007 custom list
- How to create a UCM Project VOB(PVOB) in Rational ClearCase?
- how to force global variable which define in a static library to initialize?
- How to create a resizeable dialog box with scroll bars in Visual C++
- How to create simple web service in VS2010, NOT WCF service
- How to create a no security level kernel object
- How to create custom shortcut in visual studio
- how to save a c++ object in java object and use it
- How to create columns like "bigint" or "longtext" in Rails migrations
- How to create a Plone Blog in 5 steps
- How to create a GoldenGate uni-directional target database in a production database zero downtime
- MSMQ&Com+ Service: How to create an Com+ Service in .NetFramework
- [Ruby]How to create singleton class ?
- How to Create Mysite in SharePoint 2010