2 * Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
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".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Encapsulates the ECom plugged sending service data.
20 #ifndef CSENDINGSERVICEINFO_H
21 #define CSENDINGSERVICEINFO_H
25 //#include <SendUi.h> // TSendingCapabilities
27 // FORWARD DECLARATIONS
28 class TSendingCapabilities;
29 class CSendingServiceInfoImpl;
34 * Encapsulates the ECom plugged sending service data.
37 * @since Series 60 3.0
39 class CSendingServiceInfo : public CBase
47 EServiceCanSendDirectly = 4,
51 public: // Constructors and destructor
54 * Two-phased constructor.
55 * @return Pointer to object of CSendingServiceInfo.
57 IMPORT_C static CSendingServiceInfo* NewL();
60 * Two-phased constructor.
61 * @return Pointer to object of CSendingServiceInfo.
63 IMPORT_C static CSendingServiceInfo* NewLC();
68 IMPORT_C virtual ~CSendingServiceInfo();
70 public: // New functions
73 * Creates a copy of CSendingServiceInfo object.
74 * @since Series 60 3.0
75 * @return A pointer to the new copy of the CSendingServiceInfo object.
77 IMPORT_C CSendingServiceInfo* CopyLC() const;
80 * Set service human readable name.
81 * Service name is used in editors "To"-field.
82 * @since Series 60 3.0
83 * @param aServiceName Service human readable name.
86 IMPORT_C void SetServiceNameL( const TDesC& aServiceName );
89 * Returns service human readable name.
90 * Service name is used in editors "To"-field.
91 * @since Series 60 3.0
92 * @return Service human readable name.
94 IMPORT_C const TPtrC ServiceName() const;
97 * Set service human readable name for the "Send"-menu.
98 * @since Series 60 3.0
99 * @param aServiceMenuName Service human readable name for the
103 IMPORT_C void SetServiceMenuNameL( const TDesC& aServiceMenuName );
106 * Returns service human readable name for the "Send"-menu.
107 * @since Series 60 3.0
108 * @return Service human readable name for the "Send"-menu.
110 IMPORT_C const TPtrC ServiceMenuName() const;
113 * Set service address.
114 * @since Series 60 3.0
115 * @param aServiceAddress Service address.
118 IMPORT_C void SetServiceAddressL( const TDesC& aServiceAddress );
121 * Returns service address.
122 * @since Series 60 3.0
123 * @return Service address.
125 IMPORT_C const TPtrC ServiceAddress() const;
128 * Set sending service id.
129 * @since Series 60 3.0
130 * @param aServiceId Service id.
133 IMPORT_C void SetServiceId( TUid aServiceId );
136 * Returns sending service id.
137 * @since Series 60 3.0
138 * @return Service id.
140 IMPORT_C TUid ServiceId() const;
143 * Set sending service provider id.
144 * @since Series 60 3.0
145 * @param aServiceProviderId Service provider id.
148 IMPORT_C void SetServiceProviderId( TUid aServiceProviderId );
151 * Returns sending service provider id.
152 * @since Series 60 3.0
153 * @return Service provider id.
155 IMPORT_C TUid ServiceProviderId() const;
159 * Returns sending service technology type id.
160 * @since Series 60 3.2
161 * @return Service id.
163 IMPORT_C void SetTechnologyTypeId( TUid aTechnologyType );
165 * Returns sending service technology type id.
166 * @since Series 60 3.2
167 * @return Service id.
169 IMPORT_C TUid TechnologyTypeId() const;
173 * Set service sending capabilities.
174 * @since Series 60 3.0
175 * @param aServiceCapabilities Service sending capabilities.
178 IMPORT_C void SetServiceCapabilities(
179 TSendingCapabilities aServiceCapabilities );
182 * Returns service sending capabilities.
183 * @since Series 60 3.0
184 * @return Service sending capabilities.
186 IMPORT_C TSendingCapabilities ServiceCapabilities() const;
189 * Set sending service features
190 * @since Series 60 3.2
191 * @param aServiceCapabilities Sending service features.
194 IMPORT_C void SetServiceFeatures(
195 TInt aServiceFeatures );
198 * Returns service features.
199 * @since Series 60 3.2
200 * @return Sending service features.
202 IMPORT_C TInt ServiceFeatures() const;
209 * C++ default constructor.
211 CSendingServiceInfo();
214 * By default Symbian 2nd phase constructor is private.
220 CSendingServiceInfoImpl* iServiceInfoImpl;
223 #endif // CSENDINGSERVICEINFO_H