diff -r 3f1fec088555 -r 613a5ff70823 DirectPrint/DirectPrintServer/inc/directprintmessage.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DirectPrint/DirectPrintServer/inc/directprintmessage.h Wed Mar 31 00:04:55 2010 +0900 @@ -0,0 +1,136 @@ +/* +* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: +* +*/ + + +#ifndef TMESSAGEWRP2_H +#define TMESSAGEWRP2_H + +#include + +class TDpMessage + { + public: + + /** + * Message wrapper constructor + * + * @param aMessage message to be wrapped + * @param aConnected session connection flag + */ + TDpMessage( const RMessage2& aMessage, const TBool& aConnected ); + + public: + + /** + * If session connected, write descriptor to the wrapped message + * + * @param aParam message parameter id + * @param aDes descriptor + * @param aOffset offset from the start of the client's descriptor + */ + void WriteL(TInt aParam, const TDesC8 &aDes, TInt aOffset=0) const; + + /** + * If session connected, complete the wrapped message + * + * @param aReason completion code + */ + void Complete(TInt aReason) const; + + /** + * If session connected, gets the 1st message argument as an integer value + * + * @return 1st message argument as an integer value + */ + TInt Int0() const; + + /** + * If session connected, gets the 2nd message argument as an integer value + * + * @return 2nd message argument as an integer value + */ + TInt Int1() const; + + /** + * If session connected, gets the length of a descriptor argument + * in the client's process + * + * @param aParam index value identifying the argument + * @return the length of the descriptor or error code + */ + TInt GetDesLength(TInt aParam) const; + + /** + * If session connected, read data from the specified offset within + * the 8-bit descriptor argument, into the specified target descriptor + * + * @param aParam message parameter id + * @param aDes target descriptor + * @param aOffset offset from the start of the client's descriptor + */ + void ReadL(TInt aParam, TDes8 &aDes, TInt aOffset=0) const; + + /** + * If session connected, read data from the specified offset within + * the 16-bit descriptor argument, into the specified target descriptor + * + * @param aParam message parameter id + * @param aDes target descriptor + * @param aOffset offset from the start of the client's descriptor + */ + void ReadL(TInt aParam, TDes16 &aDes, TInt aOffset=0) const; + + /** + * Panic the client thread + * + * @param aCategory category descriptor + * @param aReason reason id + */ + void Panic(const TDesC &aCategory, TInt aReason) const; + + /** + * Gets the the number of the function requested by the client + * + * @return the function number + */ + TInt Function() const; + + /** + * Sets the disposable state. Disposable means that the message needs not + * to be preserved + * + * @param aDisposable disposable flag + */ + void SetDisposable( TBool aDisposable ); + + /** + * Gets the disposable state + * + * @return the disposable flag + */ + TBool Disposable() const; + + private: // data + RMessage2 iMessage; + const TBool& iConnected; + TBool iDisposable; + }; + + +#endif // TMESSAGEWRP2_H + +// End of File