Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

FBwDateTimeField.h

Go to the documentation of this file.
00001 
00005 //---------------------------------------------------------------------------
00006 
00007 #ifndef IbMDateTimeH
00008 #define IbMDateTimeH
00009 
00010 //---------------------------------------------------------------------------
00011 
00012 namespace fbwrap
00013 {
00014 
00015 using std::string;
00016 
00018 class FBwDateTimeField : public FBwField
00019 {
00020     ISC_TIMESTAMP svalue;
00021     FBwDateTime value;
00022 protected:
00023     virtual void *GetPtr()
00024     {
00025         return &svalue;
00026     }
00027     virtual void bCopy(FBwField *fld)
00028     {
00029         value = fld->AsDateTime();
00030     }
00031     virtual int ByteSize()
00032     {
00033         return sizeof(svalue);
00034     }
00035 public:
00037 
00040     FBwDateTimeField(string pname) :
00041             FBwField(pname,masf_datetime)
00042     {
00043         sqllen=19;
00044         SetFormat(value.GetFormat());
00045     }
00047     FBwDateTimeField(const FBwDateTimeField &f)
00048             : FBwField(f)
00049     {
00050         sqllen=19;
00051         value = f.value;
00052     }
00053     virtual void BindPtr(char  **p)
00054     {
00055         *p=(char  *)&svalue;
00056     }
00057     virtual void ConvertStoV();
00058     virtual void ConvertVtoS();
00059     virtual FBwDate AsDate() const
00060     {
00061         return value.AsDate();
00062     }
00063     virtual FBwDateTime AsDateTime() const
00064     {
00065         return value;
00066     }
00067     virtual FBwTime AsTime() const
00068     {
00069         return value.AsTime();
00070     }
00071     virtual void SetAsDateTime(const FBwDateTime &dt)
00072     {
00073         value=dt;
00074     }
00075     virtual void SetAsDate(const FBwDate &d)
00076     {
00077         value=d;
00078     }
00079     virtual void SetAsTime(const FBwTime &t)
00080     {
00081         value = t;
00082     }
00083     virtual string AsString() const;
00084     virtual void SetAsString(const string &s);
00085     std::ostream &DisplayText(std::ostream & o) const;
00086     FBwField *Clone() const
00087     {
00088         return new FBwDateTimeField(*this);
00089     }
00090     ~FBwDateTimeField()
00091     {
00092     }
00093 };
00094 
00095 //-------------------------------------------------------------------------
00096 }
00097 #endif

Generated on Fri Jan 31 08:30:01 2003 for fbwrap by doxygen1.2.17