williamr@2: /*
williamr@2: * Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
williamr@2: * All rights reserved.
williamr@2: * This component and the accompanying materials are made available
williamr@2: * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
williamr@2: * which accompanies this distribution, and is available
williamr@2: * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
williamr@2: *
williamr@2: * Initial Contributors:
williamr@2: * Nokia Corporation - initial contribution.
williamr@2: *
williamr@2: * Contributors:
williamr@2: *
williamr@2: * Description:   Sending capabilities for sending services. Used by SendUi to
williamr@2: *                filter sending services from "Send" pop-up list query.
williamr@2: *
williamr@2: */
williamr@2: 
williamr@2: 
williamr@2: 
williamr@2: 
williamr@2: #ifndef TSENDINGCAPABILITIES_H
williamr@2: #define TSENDINGCAPABILITIES_H
williamr@2: 
williamr@2: //  INCLUDES
williamr@2: #include <e32base.h>
williamr@2: 
williamr@2: // MACROS
williamr@2: #define KCapabilitiesForAllServices TSendingCapabilities::CapabilitiesForAllServices()
williamr@2: 
williamr@2: // CLASS DECLARATION
williamr@2: 
williamr@2: /**
williamr@2: *  Sending capabilities for sending services.
williamr@2: *  Used by SendUi to filter sending services from "Send" pop-up list query.
williamr@2: *
williamr@2: *  @lib CSendUi.lib
williamr@2: *  @since Series 60 3.0
williamr@2: */
williamr@2: class TSendingCapabilities
williamr@2:     {
williamr@2:     public:
williamr@2: 
williamr@2:     enum TSendingFlags
williamr@2:         {
williamr@2:         EAllServices = 0,
williamr@2:         ESupportsAttachments = 1,
williamr@2:         ESupportsBodyText = 2,
williamr@2:         ESupportsBioSending = 4,
williamr@2:         ESupportsEditor = 8
williamr@2:         };
williamr@2: 
williamr@2:     public:  // Constructors and destructor
williamr@2: 
williamr@2:         /**
williamr@2:         * Default C++ constructor
williamr@2:         */
williamr@2:         IMPORT_C TSendingCapabilities();
williamr@2:         
williamr@2:         /**
williamr@2:         * C++ constructor
williamr@2:         * @param aBodySize Maximum body size.
williamr@2:         * @param aMessageSize Maximum whole message size (inc. attachments).
williamr@2:         * @param aFlags: TSendingFlags.
williamr@2:         */
williamr@2:         IMPORT_C TSendingCapabilities( 
williamr@2:             TInt aBodySize,
williamr@2:             TInt aMessageSize,
williamr@2:             TInt aFlags );
williamr@2:         
williamr@2:     public:  // New functions
williamr@2: 
williamr@2:         static inline TSendingCapabilities CapabilitiesForAllServices();
williamr@2: 
williamr@2:         /**
williamr@2:         * Overloaded equal operator.
williamr@2:         * @param aSendingCapabilities Sending capabilities to be compared
williamr@2:         * @return ETrue if equal, otherwise, EFalse
williamr@2:         */
williamr@2:         IMPORT_C TBool operator==(
williamr@2:             const TSendingCapabilities& aSendingCapabilities ) const;
williamr@2: 
williamr@2:         /**
williamr@2:         * Overloaded not equal operator.
williamr@2:         * @param aSendingCapabilities Sending capabilities to be compared
williamr@2:         * @return ETrue if not equal, otherwise, EFalse
williamr@2:         */
williamr@2:         IMPORT_C TBool operator!=(
williamr@2:             const TSendingCapabilities& aSendingCapabilities ) const;
williamr@2: 
williamr@2:     public:
williamr@2:         
williamr@2:         TInt iBodySize;
williamr@2:         TInt iMessageSize;
williamr@2:         TInt iFlags;
williamr@2:     };
williamr@2: 
williamr@2: #include "TSendingCapabilities.inl"
williamr@2: 
williamr@2: #endif      // TSENDINGCAPABILITIES_H  
williamr@2:             
williamr@2: // End of File
williamr@2: