telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmphonefactorytsy.h
changeset 0 3553901f7fa8
child 19 630d2f34d719
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmphonefactorytsy.h	Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,136 @@
+/*
+* Copyright (c) 2008-2009 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:
+*
+*/
+
+
+
+#ifndef CMMPHONEFACTORYTSY_H
+#define CMMPHONEFACTORYTSY_H
+
+#include <et_phone.h>
+#include <etel.h>
+#include <ctsy/mltsyfactorybase.h>
+#include <ctsy/mltsyfactory.h>
+
+// FORWARD DECLARATIONS
+class CTsySatMessagingBase;
+class CMmPhoneTsy;
+class MLtsyFactoryBase;
+
+// CLASS DECLARATION
+
+/**
+ * CMmPhoneFactoryTsy creates a new multimode phone object.
+ */
+NONSHARABLE_CLASS( CMmPhoneFactoryTsy ) : public CPhoneFactoryBase
+    {
+    public: // Constructors and destructor
+
+        /**
+         * Two-phased constructor.
+         * return created phone object 
+         */
+        static CMmPhoneFactoryTsy* NewL();
+        
+        /**
+         * C++ default constructor. LibEntry requires that this is public
+         */
+        CMmPhoneFactoryTsy();   
+        
+        /**
+         * By default Symbian 2nd phase constructor.
+         */
+        void ConstructL();
+
+        /**
+         * Returns Phone instance
+         */
+        CPhoneBase* NewPhoneL( const TDesC& aName );
+
+        /**
+         * Returns SimAtk TSY instance
+         */
+        virtual CTsySatMessagingBase* NewSimAtk( const TDesC& aName );
+
+        /**
+         * Destructor.
+         */
+        ~CMmPhoneFactoryTsy();  
+
+        // New functions
+
+        /**
+         * Returns maximum number of supported phone instances.
+         * 
+         *
+         * @return Maximum number of supported phone instances.
+         */
+        TInt EnumeratePhones(); 
+
+        /**
+         * Returns phone information
+         * 
+         *
+         * @param aIndex index number of the phone
+         * @param aPhoneFactoryBaseInfo info copied here
+         * @return Return value to the ETel Server
+         */
+        TInt GetPhoneInfo( 
+            const TInt aIndex, 
+            RTelServer::TPhoneInfo& aPhoneFactoryBaseInfo );
+
+        /**
+         * Provides information about the supported functional units of 
+         * the TSY
+         * 
+         *
+         * @param aFunctionalUnit is this functional unit supported.
+         * @return TBool ETrue if supported, EFalse if not
+         */
+        TBool IsSupported( const TInt aFunctionalUnit );    
+#ifdef USING_CTSY_DISPATCHER     
+    protected:
+    	
+    	TBool UsingCtsyDispatcher();
+    	MLtsyFactoryBase* LoadLibraryL();
+#endif // #endif USING_CTSY_DISPATCHER
+    private:    // Data
+    
+        /**
+         * Pointer to PhoneTSY
+         * Not owned.
+         */
+        CMmPhoneTsy* iPhoneTsy;
+
+        /**
+         * Pointer to messagerouter 
+         * Not owned.
+         */
+        MMessageRouter* iMessageRouter;
+                
+        /**
+         * Pointer to LTSY factory, used to retrieve LTSY and SIM ATK TSY
+         * Not owned.
+         */
+        MLtsyFactoryBase* iLtsyFactory;
+#ifdef USING_CTSY_DISPATCHER        
+        RLibrary iLoadedLib; //can either be LicenseeTsy or CtsyDispatcher dlls
+#endif // #ifdef USING_CTSY_DISPATCHER
+    };
+
+#endif // CMMPHONEFACTORYTSY_H
+
+// End of File