imstutils/imconversationview/imcvuiengine/inc/cimcvenginemessagebase.h
branchRCL_3
changeset 28 3104fc151679
parent 27 2b7283837edb
child 29 9a48e301e94b
equal deleted inserted replaced
27:2b7283837edb 28:3104fc151679
     1 /*
       
     2 * Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  base class for messages
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef CIMCVENGINEMESSAGEBASE_H
       
    20 #define CIMCVENGINEMESSAGEBASE_H
       
    21 
       
    22 #include <e32base.h>
       
    23 #include <badesca.h>
       
    24 
       
    25 #include "mimcvenginemessage.h"
       
    26 #include "mimcvenginemessagecreator.h"
       
    27 #include <ximpbase.h>
       
    28 //	FORWARD CLASS DECLERATIONS
       
    29 class MIMCVEngineMessageContainerInfo;
       
    30 
       
    31 // CLASS DECLARATION
       
    32 
       
    33 /**
       
    34  *  Message Base class
       
    35  */
       
    36 class CIMCVEngineMessageBase : public CBase, 
       
    37                        public MIMCVEngineMessage
       
    38 	{
       
    39                       	
       
    40     public: // Construction
       
    41 
       
    42 		/**
       
    43 		 * Destruction
       
    44 		 */
       
    45 		~CIMCVEngineMessageBase();
       
    46 		
       
    47 	protected: // Construction
       
    48 	
       
    49 		/**
       
    50 		 * Constructor
       
    51 		 */
       
    52 		CIMCVEngineMessageBase();
       
    53 		
       
    54 		/**
       
    55 		 * Remember to call this one as last line of child ConstructL
       
    56 		 * @param aSender, sender user id
       
    57 		 * @param aRecipient, recipient id
       
    58 		 */
       
    59 		void ConstructL( const TDesC& aSender, 
       
    60 		                 const TDesC& aRecipient );
       
    61 		
       
    62 	protected: // From MIMCVEngineMessage
       
    63 		
       
    64 		/**
       
    65 		 * @see MIMCVEngineMessage
       
    66 		 */
       
    67 		const TTime& TimeStamp() const;
       
    68 		/**
       
    69 		 * @see MIMCVEngineMessage
       
    70 		 */
       
    71 		void SetTimeStamp(TTime aTime ) ;
       
    72 
       
    73 		/**
       
    74 		 * @see MIMCVEngineMessage
       
    75 		 */
       
    76 		TMessageType MessageType() const;
       
    77 		
       
    78 		/**
       
    79 		 * @see MIMCVEngineMessage
       
    80 		 */
       
    81 		TMessagerType MessagerType() const;
       
    82 		
       
    83 		/**
       
    84 		 * @see MIMCVEngineMessage
       
    85 		 */
       
    86 		TXIMPRequestId OperationCode() const;
       
    87 		
       
    88 		/**
       
    89 		 * @see MIMCVEngineMessage
       
    90 		 * @param aOpId, operation code
       
    91 		 */
       
    92 	    void SetOperationCode( TXIMPRequestId aRequestId );
       
    93 		
       
    94 		/**
       
    95 		 * @see MIMCVEngineMessage
       
    96 		 */
       
    97         const TDesC& Recipient() const;	
       
    98         
       
    99 		/**
       
   100 		 * @see MIMCVEngineMessage
       
   101 		 */
       
   102         const TDesC& Sender() const;
       
   103         
       
   104 		                
       
   105 		/**
       
   106 		 * @see MIMCVEngineMessage
       
   107 		 */
       
   108         const TDesC& Text() const;
       
   109         
       
   110 	
       
   111 		/**
       
   112 		 * @see MIMCVEngineMessage
       
   113 		 */
       
   114         //const TDesC& UserId() const;
       
   115 
       
   116 	        
       
   117         /**
       
   118          * @see MIMCVEngineMessage
       
   119          * @param aInfo, message container info
       
   120          */
       
   121         void SetContainerInfo( MIMCVEngineMessageContainerInfo* aInfo );
       
   122                    
       
   123 
       
   124                 
       
   125 		/**
       
   126 		 * @see MIMCVEngineMessage
       
   127 		 */
       
   128 		TInt SizeInBytes() const;
       
   129 		
       
   130 		/**
       
   131 		 * @see MIMCVEngineMessage
       
   132 		 */
       
   133 		TBool FailedMessage() const;
       
   134 		
       
   135 
       
   136 	    /**
       
   137 	     * @see MIMCVEngineMessage
       
   138 	     */
       
   139         TSystemMessage SystemMessageType();
       
   140               
       
   141       	
       
   142       	/**
       
   143 		 * @see MIMCVEngineMessage
       
   144 		 */
       
   145         void IncreaseOwnerCount();
       
   146         
       
   147 		/**
       
   148 		 * @see MIMCVEngineMessage
       
   149 		 */
       
   150         TBool DecreaseOwnerCount();
       
   151    
       
   152     
       
   153     public: // New methods
       
   154     
       
   155         
       
   156         
       
   157         /**
       
   158          * Set message type
       
   159          * @param aNewType New message type.
       
   160          */
       
   161         virtual void SetMessageType( TMessageType aNewType );
       
   162         
       
   163         /**
       
   164          * Set messager type
       
   165          * @param aNewType New messager type.
       
   166          */
       
   167         virtual void SetMessagerType( TMessagerType aNewType );
       
   168 
       
   169 		/**
       
   170 		 * Set message as system message
       
   171 		 * @param aType Type of system message
       
   172 		 */ 
       
   173         void SetSystem( TSystemMessage aType );
       
   174         
       
   175         
       
   176        
       
   177     protected:
       
   178     
       
   179         /**
       
   180          * Set failed message
       
   181          * @param aFailed, by default it  will set ETrue
       
   182          */
       
   183         virtual void SetFailed( TBool aFailed = ETrue );
       
   184        
       
   185         
       
   186                                             
       
   187 	protected: // Member variables
       
   188 	
       
   189 	    /// Type of message
       
   190 	    TMessageType iMessageType;
       
   191 	    // messager type
       
   192 	    TMessagerType iMessagerType;
       
   193 	       
       
   194 		/// Owns Message sender
       
   195  		HBufC* iSender;
       
   196  		
       
   197 	    /// Owns Recipient of message
       
   198 	    HBufC* iRecipient;	 
       
   199 
       
   200  		
       
   201  		/// Timestamp.
       
   202  		TTime iTime;
       
   203  		
       
   204 	    /// Operation code
       
   205 	    TXIMPRequestId iOperationCode;
       
   206 	    	    
       
   207 	    
       
   208 	    /// Owns. Textual content.
       
   209 	    HBufC* iText;
       
   210 	    
       
   211 	    /// Does not own. Container information
       
   212 	    MIMCVEngineMessageContainerInfo* iInfo;
       
   213 	    
       
   214         
       
   215         /// Is message failed message or not.
       
   216         TBool iFailed;
       
   217                 
       
   218         /// If this is a system message, this defines the type
       
   219         TSystemMessage iSystemMessageType;
       
   220         
       
   221         // Message's version used in internalizing/externalizing
       
   222         TUint16 iMessageVersion;
       
   223         
       
   224         /// Ownercount to count owners.
       
   225 	    TInt iOwnerCount;
       
   226 	}; 
       
   227 
       
   228 #endif      // CIMCVENGINEMESSAGEBASE_H
       
   229 
       
   230 // End of File