inc/mdcquery.h
changeset 0 c53acadfccc6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/mdcquery.h	Mon Jan 18 20:34:07 2010 +0200
@@ -0,0 +1,178 @@
+/*
+* Copyright (c) 2002-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:  common query and condition definitions for MdE
+*
+*/
+
+#ifndef __MDCQUERY_H__
+#define __MDCQUERY_H__
+
+#include "mdscommoninternal.h"
+#include "mdcserializationtype.h"
+
+
+NONSHARABLE_CLASS(TMdCCondition) : protected TMdCSerializationType
+	{
+	protected:
+		TMdCCondition(TMdCStructTypes aType) : TMdCSerializationType( aType )
+			{
+			}
+
+	public:
+		/**
+		 * Get condition reference from buffer. Doesn't change position of the 
+		 * buffer. Doesn't do type check.
+		 * 
+		 * @param aBuffer serialization buffer
+		 * 
+		 * @return reference to condition
+		 */
+		IMPORT_C static const TMdCCondition& GetFromBufferL( 
+				CMdCSerializationBuffer& aBuffer );
+
+	public:
+		TInt16 iConditionType;
+		TInt16 iNegated;
+	};
+
+
+NONSHARABLE_CLASS(TMdCLogicCondition) : public TMdCCondition
+	{
+	public:
+		IMPORT_C TMdCLogicCondition();
+
+		IMPORT_C static const TMdCLogicCondition& GetFromBufferL( CMdCSerializationBuffer& aBuffer );
+		IMPORT_C void SerializeL(CMdCSerializationBuffer& aBuffer);
+		IMPORT_C void DeserializeL(CMdCSerializationBuffer& aBuffer);
+
+	public:
+		TInt16  iOperator;
+		TUint32 iOptimizationFlags;
+		TMdCValueUnion iChildConditions;
+	};
+
+NONSHARABLE_CLASS(TMdCObjectCondition) : public TMdCCondition
+	{
+	public:
+		IMPORT_C TMdCObjectCondition();
+
+		IMPORT_C static const TMdCObjectCondition& GetFromBufferL( CMdCSerializationBuffer& aBuffer );
+		IMPORT_C void SerializeL(CMdCSerializationBuffer& aBuffer);
+		IMPORT_C void DeserializeL(CMdCSerializationBuffer& aBuffer);
+
+	public:
+		TInt16 iConfidentialityLevel;
+		TInt16 iCompareMethod;
+		TUint32 iFlags;
+		TMdCOffset iCondition;
+	};
+	
+NONSHARABLE_CLASS(TMdCEventCondition) : public TMdCCondition
+	{
+	public:
+		IMPORT_C TMdCEventCondition();
+
+		IMPORT_C static const TMdCEventCondition& GetFromBufferL( CMdCSerializationBuffer& aBuffer );
+		IMPORT_C void SerializeL(CMdCSerializationBuffer& aBuffer);
+		IMPORT_C void DeserializeL(CMdCSerializationBuffer& aBuffer);
+
+	public:
+		TInt16 iCompareMethod;
+		TItemId iEventId;
+		TDefId iEventDefId;
+		TMdCOffset iCreationTimeRange;
+		TMdCOffset iObjectCondition;
+		TMdCOffset iSourceCondition;
+		TMdCOffset iParticipantCondition;
+		TMdCOffset iUriCondition;
+	};
+	
+NONSHARABLE_CLASS(TMdCPropertyCondition) : public TMdCCondition
+	{
+	public:
+		IMPORT_C TMdCPropertyCondition();
+		
+		IMPORT_C static const TMdCPropertyCondition& GetFromBufferL( CMdCSerializationBuffer& aBuffer );
+		IMPORT_C void SerializeL(CMdCSerializationBuffer& aBuffer);
+		IMPORT_C void DeserializeL(CMdCSerializationBuffer& aBuffer);
+
+	public:
+		TDefId iObjectDefId;
+		TDefId iPropertyDefId;
+		TMdCOffset iCondition;
+	};
+
+NONSHARABLE_CLASS(TMdCRelationCondition) : public TMdCCondition
+	{
+	public:
+		IMPORT_C TMdCRelationCondition();
+		
+		IMPORT_C static const TMdCRelationCondition& GetFromBufferL( CMdCSerializationBuffer& aBuffer );
+		IMPORT_C void SerializeL(CMdCSerializationBuffer& aBuffer);
+		IMPORT_C void DeserializeL(CMdCSerializationBuffer& aBuffer);
+
+	public:
+		TUint16 iObjectSide;
+		TDefId iRelationDefId;
+		TItemId iRelationId;
+		TMdCValueUnion iRelationIds; // IN
+		TMdCOffset iGuid;
+		TMdCOffset iParameterRange;
+		TMdCOffset iLeftObjectCondition;
+		TMdCOffset iRightObjectCondition;
+		TMdCOffset iLastModifiedDateRange;
+	};
+
+NONSHARABLE_CLASS(TMdCSearchCriteria) : protected TMdCSerializationType
+	{
+	public:
+		IMPORT_C TMdCSearchCriteria();
+		
+		IMPORT_C static const TMdCSearchCriteria& GetFromBufferL( CMdCSerializationBuffer& aBuffer );
+		IMPORT_C void SerializeL(CMdCSerializationBuffer& aBuffer);
+		IMPORT_C void DeserializeL(CMdCSerializationBuffer& aBuffer);
+		
+	public:
+		TInt16 iQueryResultType;
+		TInt16 iQueryType;
+		TDefId iNamespaceDefId;
+		TDefId iObjectDefId;
+		TMdCValueUnion iObjectDefIds;
+		TUint32 iLimit;
+		TUint32 iOffset;
+		TUint32 iOptimizationFlags;
+		TMdCOffset iRootCondition;
+		TMdCValueUnion iOrderRules;
+		TMdCValueUnion iPropertyFilters;
+	};
+
+NONSHARABLE_CLASS(TMdCOrderRule) : protected TMdCSerializationType
+	{
+	public:
+		IMPORT_C TMdCOrderRule();
+		
+		IMPORT_C static const TMdCOrderRule& GetFromBufferL( CMdCSerializationBuffer& aBuffer );
+		IMPORT_C void SerializeL(CMdCSerializationBuffer& aBuffer);
+		IMPORT_C void DeserializeL(CMdCSerializationBuffer& aBuffer);
+		
+	public:
+		TInt16 iOrderRule;
+		TBool iAscending;
+		TBool iCaseSensitive;
+		TDefId iPropertyDefId;
+	};
+
+	
+
+#endif /*__MDCQUERY_H__*/