00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef M_SEN_PROPERTIES_H
00022 #define M_SEN_PROPERTIES_H
00023
00024 const TInt KErrSenOmitted = 10;
00025
00026
00027 #include <e32std.h>
00028
00029
00030 class RWriteStream;
00031 class CSenXmlReader;
00032
00033 class MSenProperties
00034 {
00035 public:
00039 enum TSenPropertiesClassType
00040 {
00041 ENotInUse = 0,
00042 ESenXmlProperties = 1,
00043 ESenTransportProperties = 2,
00044 ESenHttpTransportProperties = 3,
00045 ESenVtcpTransportProperties = 4,
00046 ESenLayeredXmlProperties = 5,
00047 ESenLayeredTransportProperties = 6,
00048 ESenLayeredHttpTransportProperties = 7,
00049 ESenLayeredVtcpTransportProperties = 8
00050 };
00051
00057 virtual void SetReader(CSenXmlReader& aReader) = 0;
00058
00064 virtual TSenPropertiesClassType PropertiesClassType() = 0;
00065
00072 virtual void WriteToL(RWriteStream& aWriteStream) = 0;
00073
00080 virtual void ReadFromL(const TDesC8& aBuffer) = 0;
00081
00088 virtual HBufC8* AsUtf8L() = 0;
00089
00097 virtual HBufC8* AsUtf8LC() = 0;
00098
00115 virtual TInt SetPropertyL(const TDesC8& aName,
00116 const TDesC8& aValue) = 0;
00117
00128 virtual TInt PropertyL(const TDesC8& aName, TPtrC8& aValue) = 0;
00129
00146 virtual TInt SetIntPropertyL(const TDesC8& aName,
00147 const TInt aValue) = 0;
00148
00159 virtual TInt IntPropertyL(const TDesC8& aName,
00160 TInt& aValue) = 0;
00161
00178 virtual TInt SetBoolPropertyL(const TDesC8& aName,
00179 const TBool aValue) = 0;
00180
00191 virtual TInt BoolPropertyL(const TDesC8& aName,
00192 TBool& aValue) = 0;
00193
00207 virtual MSenProperties* Clone(TInt& aOkOrError) const = 0;
00208
00215 virtual TBool IsSafeToCast(TSenPropertiesClassType aClass) = 0;
00216
00228 virtual MSenProperties* CloneL() const = 0;
00229 };
00230
00231 #endif // M_SEN_PROPERTIES_H