--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/services/terminalmodeservice/inc/upnptmappserverservice.h Fri Jul 23 08:57:49 2010 +0300
@@ -0,0 +1,110 @@
+/**
+* Copyright (c) 2010 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: CUpnpTmAppServerService class declaration
+*
+*/
+
+#ifndef __UPNPTMAPPSERVERSERVICE_H__
+#define __UPNPTMAPPSERVERSERVICE_H__
+
+
+// Include Files
+#include <upnpserviceimplementation.h>
+#include <upnphttpserverobserver.h>
+#include <upnphttpservertransactioncreator.h>
+#include <upnpcommonupnplits.h>
+#include <upnpsettings.h>
+#include <upnphttpserversession.h>
+#include <upnphttpserverruntime.h>
+
+// FORWARD DECLARATIONS
+class CUPnPTmServerDevice;
+class CUpnpTmServerImpl;
+
+
+// CLASS DECLARATION
+
+/**
+* TerminalMode Application Server Service class. It encapsulates all the major actions
+* needed for accessing and controlling the remotable apps from the Control Point.
+*
+*/
+
+class CUpnpTmAppServerService: public CUpnpServiceImplementation,
+ public MUpnpHttpServerTransactionCreator,
+ public MUpnpHttpServerObserver
+ {
+public: // Constructors and destructors
+
+ /**
+ * Two-phased constructor.
+ * @param aService Parent service
+ */
+ static CUpnpTmAppServerService* NewL( CUpnpDevice& aUpnpDevice, const TDesC& aDescriptionPath ,
+ CUpnpTmServerImpl& aTmServerImpl );
+
+ /**
+ * Destructor function called automatically from the destructor of a
+ * derived class
+ **/
+ ~CUpnpTmAppServerService();
+
+public: //from CUpnpServiceImplementation
+ /**
+ * This functions is a entry point for actions. See coments in base class
+ */
+ void ActionReceivedLD( CUpnpAction* aAction );
+ void AppStatusUpdateEventL( const TDesC8& aStatusUpdateBuffer );
+ void AppListUpdateEventL( const TDesC8& aListUpdateBuffer );
+
+public: //from MUpnpHttpServerTransactionCreator
+ void NewTransactionL( const TDesC8& aMethod, const TDesC8& aUri,
+ const TInetAddr& aSender, CUpnpHttpServerTransaction*& aResultTrans );
+
+private: //From MUpnpHttpServerObserver
+ void HttpEventLD( CUpnpHttpMessage* aMessage );
+
+private:
+ TUpnpErrorCode GetAppListActionL( CUpnpAction* aAction );
+ TUpnpErrorCode LaunchAppActionL( CUpnpAction* aAction );
+ TUpnpErrorCode TerminateAppActionL( CUpnpAction* aAction );
+ TUpnpErrorCode GetAppStatusActionL( CUpnpAction* aAction );
+
+private: // Constructors
+
+ /**
+ * C++ default constructor.
+ */
+ CUpnpTmAppServerService( CUpnpDevice& aUpnpDevice, CUpnpTmServerImpl& aTmServerImpl );
+
+ /**
+ * Second phase of the constructor.
+ * Initialises a DOM tree.
+ * By default Symbian 2nd phase constructor is private.
+ * @param service Parent service
+ */
+ void ConstructL(const TDesC& aDescriptionPath );
+
+ void ConstructHttpL( );
+ TInt ConvertDescriptorToInt( const TDesC8& aDes, TInt& aErr );
+
+private:
+ CUpnpHttpServerSession* iHttpServerSession;
+ CUpnpDevice& iUpnpDevice;
+ CUpnpTmServerImpl& iTmServerImpl;
+ };
+
+#endif // __UPNPTMAPPSERVERSERVICE_H__
+
+// End Of File