--- /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__