00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00030 #ifndef INCL_DATA_TRANSFORMER
00031 #define INCL_DATA_TRANSFORMER
00032
00034 #include "base/fscapi.h"
00035
00040 struct TransformationInfo {
00041
00042 BOOL newReturnedData;
00043 long size;
00044 const char* username;
00045 const char* password;
00046 const char* sourceName;
00047
00048 TransformationInfo() : newReturnedData(FALSE)
00049 , size(-1)
00050 , username(NULL)
00051 , password(NULL)
00052 , sourceName(NULL) {}
00053
00054 };
00055
00056 class DataTransformer {
00057
00058 private:
00059
00060 char* name;
00061
00062 public:
00063
00064
00065
00066 DataTransformer() EXTRA_SECTION_01;
00067
00068 DataTransformer(char* name) EXTRA_SECTION_01;
00069
00070 virtual ~DataTransformer() EXTRA_SECTION_01;
00071
00072 static DataTransformer* getEncoder(const char* name) EXTRA_SECTION_01;
00073 static DataTransformer* getDecoder(const char* name) EXTRA_SECTION_01;
00074 static BOOL isSupportedEncoder(char* name) EXTRA_SECTION_01;
00075 static BOOL isSupportedDecoder(char* name) EXTRA_SECTION_01;
00076
00077 void setName(const char* name) EXTRA_SECTION_01;
00078 const char* getName() EXTRA_SECTION_01;
00079
00093 virtual char* transform(char* data, TransformationInfo& info) = 0 EXTRA_SECTION_01;
00094
00095 };
00096
00098 #endif