btobexprofiles/obexserviceman/obexservicemanserver/inc/SrcsMessage.h
author hgs
Fri, 28 May 2010 17:03:06 +0300
changeset 32 19bd632b5100
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
32
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  CSrcsMessage definition
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
#ifndef _SRCSMESSAGE_H
hgs
parents:
diff changeset
    20
#define _SRCSMESSAGE_H
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
//  INCLUDES
hgs
parents:
diff changeset
    23
#include <e32base.h>
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
// CLASS DECLARATION
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
/**
hgs
parents:
diff changeset
    29
 *  RMessage2 container class.
hgs
parents:
diff changeset
    30
 *  Ties together client requests and helper objects dealing with them.
hgs
parents:
diff changeset
    31
 *  Messages must be completed via this class.
hgs
parents:
diff changeset
    32
 */
hgs
parents:
diff changeset
    33
class CSrcsMessage : public CBase
hgs
parents:
diff changeset
    34
    {
hgs
parents:
diff changeset
    35
public:  // Constructors and destructor
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
   /**
hgs
parents:
diff changeset
    38
    * Two-phased constructor.
hgs
parents:
diff changeset
    39
    * @param aMessage the message to handled
hgs
parents:
diff changeset
    40
    */
hgs
parents:
diff changeset
    41
    static CSrcsMessage* NewL( const RMessage2& aMessage );
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
   /**
hgs
parents:
diff changeset
    44
    * Destructor.
hgs
parents:
diff changeset
    45
    */
hgs
parents:
diff changeset
    46
    virtual ~CSrcsMessage();
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
public: // New functions
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
   /**
hgs
parents:
diff changeset
    51
    * Completes a message with given reason to client.
hgs
parents:
diff changeset
    52
    * @param aReason    Reason value for complete.
hgs
parents:
diff changeset
    53
    * @return none
hgs
parents:
diff changeset
    54
    */
hgs
parents:
diff changeset
    55
    void Complete( TInt aReason );
hgs
parents:
diff changeset
    56
hgs
parents:
diff changeset
    57
   /**
hgs
parents:
diff changeset
    58
    * Returns RMessage2 reference to message.
hgs
parents:
diff changeset
    59
    * @return Reference to message
hgs
parents:
diff changeset
    60
    */
hgs
parents:
diff changeset
    61
    const RMessage2& MessagePtr();
hgs
parents:
diff changeset
    62
hgs
parents:
diff changeset
    63
   /**
hgs
parents:
diff changeset
    64
    * Returns pointer which can be used to cancel request.
hgs
parents:
diff changeset
    65
    * @return Pointer to be used for cancellation
hgs
parents:
diff changeset
    66
    */
hgs
parents:
diff changeset
    67
    const TAny* CancelPtr();
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
   /**
hgs
parents:
diff changeset
    70
    * Overload of comparison between CSrcsMessages
hgs
parents:
diff changeset
    71
    * @param  aMessage  Reference to another CSrcsMessage
hgs
parents:
diff changeset
    72
    * @return Boolean   True = Messages are same
hgs
parents:
diff changeset
    73
    *                   False = Messaged differ.
hgs
parents:
diff changeset
    74
    */
hgs
parents:
diff changeset
    75
    TBool operator==( CSrcsMessage& aMessage ) const;      
hgs
parents:
diff changeset
    76
hgs
parents:
diff changeset
    77
private:
hgs
parents:
diff changeset
    78
hgs
parents:
diff changeset
    79
   /**
hgs
parents:
diff changeset
    80
    * C++ default constructor.
hgs
parents:
diff changeset
    81
    */
hgs
parents:
diff changeset
    82
    CSrcsMessage( const RMessage2& aMessage );
hgs
parents:
diff changeset
    83
hgs
parents:
diff changeset
    84
private:    // Data
hgs
parents:
diff changeset
    85
    RMessage2   iMessagePtr;    // The message to be completed
hgs
parents:
diff changeset
    86
    const TAny* iCancelPtr;	    // Address of the TRequestStatus of the client-side active object - used for cancelling purposes    
hgs
parents:
diff changeset
    87
hgs
parents:
diff changeset
    88
    };
hgs
parents:
diff changeset
    89
hgs
parents:
diff changeset
    90
#endif      // SRCSMESSAGE_H
hgs
parents:
diff changeset
    91
hgs
parents:
diff changeset
    92
// End of File