00001
00006
00007
00008 #ifndef FBwDPBH
00009 #define FBwDPBH
00010
00011 namespace fbwrap
00012 {
00013
00014
00015 using std::string;
00016
00018 class FBwSPB
00019 {
00020 string dpb;
00021 protected:
00023 void AddLength(short length)
00024 {
00025 dpb += (char)(length);
00026 dpb += (char)(length >> 8);
00027 }
00029 void AddString(string s);
00031 void AddSString(string s);
00033 void SetVersion();
00034
00035 public:
00037 FBwSPB()
00038 {
00039 }
00041 char *GetDPB()
00042 {
00043 return const_cast<char *>( dpb.c_str() );
00044 }
00046 short length() const
00047 {
00048 return dpb.length();
00049 }
00055 void AddParam(char ParamType,string s);
00057 void AddParam(char ParamType,int num);
00059 void AddSParam(char ParamType,string s);
00061 void AddSParam(char ParamType,int num);
00063 void Add(char c)
00064 {
00065 dpb += c;
00066 }
00068 void AddUserName(string username)
00069 {
00070 AddSParam(isc_spb_user_name,username);
00071 }
00073 void AddPassword(string passwd)
00074 {
00075 AddSParam(isc_spb_password,passwd);
00076 }
00078 FBwSPB &operator+=(const char c)
00079 {
00080 dpb += c;
00081 return *this;
00082 }
00083 void debug();
00084 };
00085
00086 };
00087 #endif