services/terminalmodeservice/inc/upnpappfilterinfo.h
branchRCL_3
changeset 9 5c72fd91570d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/services/terminalmodeservice/inc/upnpappfilterinfo.h	Tue Aug 31 16:06:48 2010 +0300
@@ -0,0 +1,103 @@
+/**
+* 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: CUpnpAppFilterInfo class declaration
+*
+*/
+
+#ifndef __UPNPAPPFILTERINFO_H__
+#define __UPNPAPPFILTERINFO_H__
+
+// Include Files
+#include <e32base.h>
+#include "terminalmodeconsts.h"
+
+// Literals
+_LIT8(KProtocolId,          "protocolID");
+_LIT8(KFormat,              "format");
+_LIT8(KRemotingDirection,   "direction");
+_LIT8(KAppCategory,         "appCategory");
+_LIT8(KTrustLevel,          "trustLevel");
+_LIT8(KContCategory,        "contentCategory");
+_LIT8(KContentRules,        "contentRules");
+_LIT8(KAudioType,           "audioType");
+
+/**
+ *  This class stores the parsed information provided in the AppListingFilter
+ *  input argument of the GetApplicationList action.
+ *  Provides internal setter and getter methods.
+ *  Maintains a structure which holds the information such as which all optional 
+ *  elements are needed in the response and which all applications should go
+ *  in the response.
+ */
+class CUpnpAppFilterInfo : public CBase
+      {
+public: 
+      static  CUpnpAppFilterInfo* NewL();
+      ~CUpnpAppFilterInfo();
+      
+      /*
+       * Method is used to set the value for each key provided in the filter string as an input
+       * Returns error if the there is a mismatch of the key or key is not as per the GetApplicationList schema
+       * The default parameter( aDisplayInfoFlag ) is provided only to distinguish the child element "trustLevel" ( child element)
+       * of displayInfo element from "trustLevel" of appInfo element.
+       */
+      void SetFilterInfoL( const TDesC8& aKey, const TDesC8& aValue,
+                                  TTerminalModeErrorCode& aErr, TBool aDisplayInfoFlag = EFalse );
+      // inlined Getter methods
+      inline const TDesC8& AppName()const;
+      inline const TDesC8& AppDescription()const;
+      inline const TDesC8& MimeType()const;
+      inline const TDesC8& Width()const;
+      inline const TDesC8& Height()const;
+      inline const TDesC8& Depth()const;
+      inline const TDesC8& AllowedProfileIdList()const;
+      inline const TDesC8& ProtocolId()const;
+      inline const TDesC8& Format()const;
+      inline const TDesC8& Direction()const;
+      inline const TDesC8& AppCategory()const;
+      inline const TDesC8& AppTrustLevel()const;
+      inline const TDesC8& ContentCategory()const;
+      inline const TDesC8& ContentRules()const;
+      inline const TDesC8& ContentTrustLevel()const;
+      inline const TDesC8& AudioType()const;
+      inline const TDesC8& ResourceStatus()const;
+      inline const TDesC8& Signature()const;
+      
+private:
+      CUpnpAppFilterInfo( );
+      
+private:
+      HBufC8*                     iAppName;
+      HBufC8*                     iAppDesc;
+      HBufC8*                     iMimeType;
+      HBufC8*                     iWidth;
+      HBufC8*                     iHeight;
+      HBufC8*                     iDepth;
+      HBufC8*                     iAllowedIdList;
+      HBufC8*                     iProtocolId;
+      HBufC8*                     iFormat;
+      HBufC8*                     iDirection;
+      HBufC8*                     iAppCategory;
+      HBufC8*                     iAppTrustLevel;
+      HBufC8*                     iContCategory;
+      HBufC8*                     iContentRules;
+      HBufC8*                     iContTrustLevel;
+      HBufC8*                     iAudioType;
+      HBufC8*                     iRscStatus;
+      HBufC8*                     iSignature;
+      };
+
+#include "upnpappfilterinfo.inl"
+
+#endif  //__UPNPAPPFILTERINFO_H__