commsfwsupport/commselements/ResponseMsg/inc/ResponseMsg.h
changeset 0 dfb7c4ff071f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commsfwsupport/commselements/ResponseMsg/inc/ResponseMsg.h	Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,183 @@
+// Copyright (c) 2005-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:
+//
+
+/**
+ @file
+ @internalTechnology
+*/
+
+
+#if !defined(RESPONSEMSG_H)
+#define RESPONSEMSG_H
+
+#include <e32base.h>
+#include <elements/metavirtctor.h>
+#include <elements/sd_apiextensionclient.h>
+
+namespace Elements
+{
+
+/**
+	The RResponseMsg class provides a controlled wrapper around an IPC
+	client-provided RMessage2.
+
+	@publishedPartner
+	@released
+*/
+class RResponseMsg : protected RMessage2
+	{
+	friend class TResponseMsgAccessor;
+
+public:
+	explicit RResponseMsg() : iInterfaceId(0), iRequestMsgParam(-1), iResponseMsgParam(-1) {}
+	IMPORT_C explicit RResponseMsg(const RMessage2& aMessage, TInt aInterfaceId, TInt aRequestMsgParam = -1, TInt aResponseMsgParam = -1);
+	IMPORT_C explicit RResponseMsg(const RMessage2& aMessage, const Den::TApiExtIdentification& aInterfaceId, TInt aRequestMsgParam = -1, TInt aResponseMsgParam = -1);
+	IMPORT_C TInt InterfaceId() const;
+	IMPORT_C TInt ScopeId() const;
+
+	IMPORT_C Meta::SMetaDataNetCtor* ReadClientReqMsg(TDes8& aDstBuff);
+
+	IMPORT_C void Complete(TInt aError);
+	IMPORT_C void Complete(Meta::SMetaDataECom& aMsg);
+	IMPORT_C void Complete(Meta::SMetaDataECom& aMsg, TDes8& aDstBuff);
+	IMPORT_C void Complete(RHandleBase& aHandle); 	       
+	IMPORT_C void Panic(const TDesC& aCategory, TInt aReason) const;
+
+	inline TInt GetDesLength(TInt aParam) const
+		{
+		return RMessage2::GetDesLength(aParam);
+		}
+	
+	inline TInt GetDesLengthL(TInt aParam) const
+		{
+		return RMessage2::GetDesLengthL(aParam);
+		}
+		
+	inline TInt GetDesMaxLength(TInt aParam) const
+		{
+		return RMessage2::GetDesMaxLength(aParam);
+		}
+	
+	inline TInt GetDesMaxLengthL(TInt aParam) const
+		{
+		return RMessage2::GetDesMaxLengthL(aParam);
+		}
+	
+	inline void ReadL(TInt aReadParam, TDes8& aBuf, TInt aOffset=0) const
+		{
+		RMessage2::ReadL(aReadParam, aBuf, aOffset);
+		}
+
+	inline void ReadL(TInt aReadParam, TDes16& aBuf, TInt aOffset=0) const
+		{
+		RMessage2::ReadL(aReadParam, aBuf, aOffset);
+		}
+
+	inline TInt Read(TInt aReadParam, TDes8& aBuf, TInt aOffset=0) const
+		{
+		return RMessage2::Read(aReadParam, aBuf, aOffset);
+		}
+
+	inline TInt Read(TInt aReadParam, TDes16& aBuf, TInt aOffset=0) const
+		{
+		return RMessage2::Read(aReadParam, aBuf, aOffset);
+		}
+
+
+	inline void WriteL(TInt aWriteParam, const TDesC8& aBuf, TInt aOffset=0) const
+		{
+		RMessage2::WriteL(aWriteParam, aBuf, aOffset);
+		}
+
+	inline void WriteL(TInt aWriteParam, const TDesC16& aBuf, TInt aOffset=0) const
+		{
+		RMessage2::WriteL(aWriteParam, aBuf, aOffset);
+		}
+
+	inline TInt Write(TInt aWriteParam, const TDesC8& aBuf, TInt aOffset=0) const
+		{
+		return RMessage2::Write(aWriteParam, aBuf, aOffset);
+		}
+
+	inline TInt Write(TInt aWriteParam, const TDesC16& aBuf, TInt aOffset=0) const
+		{
+		return RMessage2::Write(aWriteParam, aBuf, aOffset);
+		}
+
+	inline TInt Function() const
+		{
+		return RMessage2::Function();
+		}
+	
+	inline TInt Int0() const
+		{
+		return RMessage2::Int0();
+		}
+	
+	inline TInt Int1() const
+		{
+		return RMessage2::Int1();
+		}
+	
+	inline TInt Int2() const
+		{
+		return RMessage2::Int2();
+		}
+	
+	inline TInt Int3() const
+		{
+		return RMessage2::Int3();
+		}
+	
+	inline const TAny* Ptr0() const
+		{
+		return RMessage2::Ptr0();
+		}
+	
+	inline const TAny* Ptr1() const
+		{
+		return RMessage2::Ptr1();
+		}
+	
+	inline const TAny* Ptr2() const
+		{
+		return RMessage2::Ptr2();
+		}
+	
+	inline const TAny* Ptr3() const
+		{
+		return RMessage2::Ptr3();
+		}
+
+	inline TBool IsNull() const
+		{
+		return RMessage2::IsNull();
+		}
+
+	inline TBool HasCapability(TCapability aCapability, const char* aDiagnostic=0) const
+		{
+		return RMessage2::HasCapability(aCapability, aDiagnostic);
+		}
+	
+private:
+	Den::TApiExtIdentification iInterfaceId;
+	TInt8 iRequestMsgParam;
+	TInt8 iResponseMsgParam;
+	};
+
+} // namespace Elements
+
+#endif	// RESPONSEMSG_H
+