upnpmediaserver/connectionmanagerservice/inc/upnpcm.h
changeset 0 7f85d04be362
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/upnpmediaserver/connectionmanagerservice/inc/upnpcm.h	Thu Dec 17 08:52:00 2009 +0200
@@ -0,0 +1,145 @@
+/** @file
+* Copyright (c) 2005-2006 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:  Declares ConnectionManager class
+*
+*/
+class CUpnpSecurityManager;
+
+
+#ifndef C_CUPNPCM_H
+#define C_CUPNPCM_H
+
+// INCLUDES
+#include "upnpserviceimplementation.h"
+
+const TInt KGranularity = 10;
+const TInt KBufExpandSize = 128;
+_LIT8(KConnectionManagerType, "ConnectionManager:1" );
+
+/**
+*  Declares ConnectionManager class
+*  This service-type enables modeling of streaming capabilities of A/V devices, 
+*  and binding of those capabilities between devices.
+*
+*  @upnpcm.lib
+*  @since Series60 2.6
+*/
+NONSHARABLE_CLASS( CUpnpCM ): public CUpnpServiceImplementation
+    {
+    public: // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CUpnpCM* NewL( CUpnpDevice& aParentService, 
+                                       const TDesC8& aMediaTypes,
+                                       const TDesC& aDescriptionPath );
+        /**
+        * Destructor.
+        */
+        ~CUpnpCM();
+                
+    public: // Functions from CUpnpServiceImplementation
+
+        /**
+        * ActionReceivedLD
+        * From CUpnpServiceImplementation,Handles actions received from the 
+        * ServiceFramework, see coments in base class
+        * @since Series60 2.0
+        * @param aAction Pointer to Action element that is going to be handled
+        */
+        void ActionReceivedLD( CUpnpAction* aAction );
+
+    public: // Functions from CConnectionManager
+
+        /**
+        * GetProtocolInfo
+        * From CConnectionManager,Handles GetProtocolInfo actions by setting
+        * the needed information to aAction
+        * @since Series60 2.0
+        * @param aAction Instructions
+        * @return TUpnpErrocCode, Returns an error code if the operation has
+        * failed
+        */
+        TUpnpErrorCode GetProtocolInfoL( CUpnpAction* aAction );
+
+        /**
+        * PrepareForConnection
+        * From CConnectionManager,Handles PrepareForConnection actions 
+        * according to instructions
+        * @since Series60 2.0
+        * @param aAction Instructions
+        * @return TUpnpErrocCode, Returns an error code if the operation
+        * has failed
+        */
+        TUpnpErrorCode PrepareForConnection( CUpnpAction* aAction );
+
+        /**
+        * ConnectionComplete
+        * From CConnectionManager,Releases the connection specified in the
+        * aAction
+        * @since Series60 2.0
+        * @param aAction Instructions
+        * @return TUpnpErrocCode, Returns an error code if the operation has
+        * failed
+        */
+        TUpnpErrorCode ConnectionComplete( CUpnpAction* aAction );
+
+        /**
+        * GetCurrentConnectionIDsL
+        * From CConnectionManager,Check the current connections and inserts a 
+        * CSV list of them into the aAction
+        * @since Series 602.0
+        * @param aAction Instructions
+        * @return TUpnpErrocCode, Returns an error code if the operation has 
+        * failed
+        */
+        TUpnpErrorCode GetCurrentConnectionIDsL( CUpnpAction* aAction );
+
+        /**
+        * GetCurrentConnectionIDsL
+        * From CConnectionManager,Checks the ConnectionInfo of the connection 
+        * specified in the aAction and sets the data to aAction
+        * @since Series60 2.0
+        * @param aAction Instructions
+        * @return TUpnpErrocCode, Returns an error code if the operation has 
+        * failed
+        */
+        TUpnpErrorCode GetCurrentConnectionInfoL( CUpnpAction* aAction );
+        
+	private: 	
+		/**
+        * C++ default constructor.
+        */
+        CUpnpCM(CUpnpDevice& aDevice);
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        * @param aParentService Reference to parent service
+        */
+        void ConstructL( const TDesC8& aMediaTypes, const TDesC& aDescriptionPath );    
+
+    private: 
+
+        HBufC8* CreateProtocolInfosL(const TDesC8& aMediaTypes );
+		void GetMediaListFromStringL(CPtrC8Array* aList, const TDesC8& aMediaTypes);
+
+    private:
+        CUpnpSecurityManager* iSecurityManager;
+		
+	};
+
+#endif // C_CUPNPCM_H
+
+// End of File