--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/PECengine/AttributeLibrary2/Src/PEngAttrLibFactory.cpp Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,240 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: PEngAttrLibFactory - object factory
+*
+*/
+
+// INCLUDE FILES
+#include "PEngAttrLibFactory.h"
+#include "CPEngAttrLibObjectHolder.h"
+#include "CPEngSessionSlotId.h"
+
+#include "MPEngPresenceAttrManager.h"
+#include "MPEngPresenceAttrTransactionEnv.h"
+#include "MPEngTransactionFactory.h"
+
+#include <E32Std.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PEngAttrLibFactory::AttributeManagerInstanceL()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MPEngPresenceAttrManager* PEngAttrLibFactory::AttributeManagerInstanceL(
+ const CPEngSessionSlotId& aSlotId )
+ {
+ CPEngAttrLibObjectHolder* holder = CPEngAttrLibObjectHolder::InstanceLC();
+ MPEngPresenceAttrManager* instance = holder->AttributeManagerInstanceL( aSlotId );
+ CleanupStack::PopAndDestroy(); // holder
+
+ return instance;
+ }
+
+
+// -----------------------------------------------------------------------------
+// PEngAttrLibFactory::AttributeManagerInstanceLC()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MPEngPresenceAttrManager* PEngAttrLibFactory::AttributeManagerInstanceLC(
+ const CPEngSessionSlotId& aSlotId )
+ {
+ MPEngPresenceAttrManager* instance = AttributeManagerInstanceL( aSlotId );
+ CleanupClosePushL( *instance );
+
+ return instance;
+ }
+
+
+// -----------------------------------------------------------------------------
+// PEngAttrLibFactory::AttributeTransEnvInstanceL()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MPEngPresenceAttrTransactionEnv* PEngAttrLibFactory::AttributeTransEnvInstanceL(
+ const CPEngSessionSlotId& aSlotId )
+ {
+ CPEngAttrLibObjectHolder* holder = CPEngAttrLibObjectHolder::InstanceLC();
+ MPEngPresenceAttrTransactionEnv* instance = holder->AttributeTransEnvInstanceL( aSlotId );
+ CleanupStack::PopAndDestroy(); // holder
+
+ return instance;
+ }
+
+
+// -----------------------------------------------------------------------------
+// PEngAttrLibFactory::AttributeTransEnvInstanceLC()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MPEngPresenceAttrTransactionEnv* PEngAttrLibFactory::AttributeTransEnvInstanceLC(
+ const CPEngSessionSlotId& aSlotId )
+ {
+ MPEngPresenceAttrTransactionEnv* instance = AttributeTransEnvInstanceL( aSlotId );
+ CleanupClosePushL( *instance );
+
+ return instance;
+ }
+
+
+// -----------------------------------------------------------------------------
+// PEngAttrLibFactory::AttributeTransFactoryInstanceL()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MPEngTransactionFactory* PEngAttrLibFactory::AttributeTransFactoryInstanceL(
+ const CPEngSessionSlotId& aSlotId )
+
+ {
+ CPEngAttrLibObjectHolder* holder = CPEngAttrLibObjectHolder::InstanceLC();
+ MPEngTransactionFactory* instance = holder->AttributeTransFactInstanceL( aSlotId );
+ CleanupStack::PopAndDestroy(); // holder
+
+ return instance;
+ }
+
+
+// -----------------------------------------------------------------------------
+// PEngAttrLibFactory::AttributeTransFactoryInstanceLC()
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MPEngTransactionFactory* PEngAttrLibFactory::AttributeTransFactoryInstanceLC(
+ const CPEngSessionSlotId& aSlotId )
+ {
+ MPEngTransactionFactory* instance = AttributeTransFactoryInstanceL( aSlotId );
+ CleanupClosePushL( *instance );
+
+ return instance;
+
+ }
+
+
+// -----------------------------------------------------------------------------
+// PEngAttrLibFactory::__DbgObjectCounts()
+// Debug helper
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void PEngAttrLibFactory::__DbgObjectCounts( TInt& aHolder,
+ TInt& aAttrMan,
+ TInt& aTransEnv,
+ TInt& aTransFact )
+ {
+#ifdef _DEBUG
+
+ aHolder = KErrNotFound;
+ aAttrMan = KErrNotFound;
+ aTransEnv = KErrNotFound;
+ aTransFact = KErrNotFound;
+
+ CPEngAttrLibObjectHolder* holder = CPEngAttrLibObjectHolder::__DbgInstanceOrNull();
+ if ( holder )
+ {
+ holder->__DbgObjectCounts( aHolder, aAttrMan, aTransEnv, aTransFact );
+ }
+
+#else
+
+ // suppress the unreferenced variable warnings
+ ( void ) aHolder;
+ ( void ) aAttrMan;
+ ( void ) aTransEnv;
+ ( void ) aTransFact;
+
+#endif //_DEBUG
+ }
+
+
+// -----------------------------------------------------------------------------
+// PEngAttrLibFactory::__DbgAttrManRefCount()
+// Debug helper
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void PEngAttrLibFactory::__DbgAttrManRefCount( const CPEngSessionSlotId& aSlotId,
+ TInt& aRefCount )
+ {
+#ifdef _DEBUG
+
+ aRefCount = KErrNotFound;
+ CPEngAttrLibObjectHolder* holder = CPEngAttrLibObjectHolder::__DbgInstanceOrNull();
+ if ( holder )
+ {
+ holder->__DbgAttrManRefCount( aSlotId, aRefCount );
+ }
+
+#else
+
+ // suppress the unreferenced variable warnings
+ ( void ) aSlotId;
+ ( void ) aRefCount;
+
+#endif //_DEBUG
+ }
+
+
+
+// -----------------------------------------------------------------------------
+// PEngAttrLibFactory::__DbgTransEnvRefCount()
+// Debug helper
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void PEngAttrLibFactory::__DbgTransEnvRefCount( const CPEngSessionSlotId& aSlotId,
+ TInt& aRefCount )
+ {
+#ifdef _DEBUG
+
+ aRefCount = KErrNotFound;
+
+ CPEngAttrLibObjectHolder* holder = CPEngAttrLibObjectHolder::__DbgInstanceOrNull();
+ if ( holder )
+ {
+ holder->__DbgTransEnvRefCount( aSlotId, aRefCount );
+ }
+
+#else
+
+ // suppress the unreferenced variable warnings
+ ( void ) aSlotId;
+ ( void ) aRefCount;
+
+#endif //_DEBUG
+ }
+
+// -----------------------------------------------------------------------------
+// PEngAttrLibFactory::__DbgTransFactRefCount()
+// Debug helper
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void PEngAttrLibFactory::__DbgTransFactRefCount( const CPEngSessionSlotId& aSlotId,
+ TInt& aRefCount )
+ {
+#ifdef _DEBUG
+ aRefCount = KErrNotFound;
+
+ CPEngAttrLibObjectHolder* holder = CPEngAttrLibObjectHolder::__DbgInstanceOrNull();
+ if ( holder )
+ {
+ holder->__DbgTransFactRefCount( aSlotId, aRefCount );
+ }
+
+#else
+
+ // suppress the unreferenced variable warnings
+ ( void ) aSlotId;
+ ( void ) aRefCount;
+
+#endif //_DEBUG
+ }
+
+
+
+// End of File
+