home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2000 / MacHack 2000.toast / pc / The Hacks / Genie / Projects / Siesta / Source / Includes / SiesString.hh
Encoding:
Text File  |  2000-06-24  |  1.2 KB  |  50 lines

  1. /*    =============
  2.  *    SiesString.hh
  3.  *    =============
  4.  *    
  5.  *    Implemented by SiesString.cc
  6.  */
  7.  
  8. #ifndef SIESSTRING_HH
  9. #define SIESSTRING_HH
  10.  
  11. #include <Types.h>
  12.  
  13. class SiesString {
  14. public:
  15.     SiesString();
  16.     SiesString(const SiesString &inString);
  17.     SiesString(void *inData, long inLen);
  18.     SiesString(const char *inCStr);
  19.     SiesString(const unsigned char *inPStr);
  20.     SiesString(Handle inHandle);
  21.     virtual ~SiesString();
  22.     
  23.     virtual void Set(const void *inData, long inLen);
  24.     virtual void Set(const SiesString &inString);
  25.     virtual void Set(const char *inCStr);
  26.     virtual void Set(const unsigned char *inPStr);
  27.     virtual void Set(Handle inHandle);
  28.     
  29.     virtual void Append(const void *inData, long inLen);
  30.     virtual void Append(const SiesString &inString);
  31.     virtual void Append(const char *inCStr);
  32.     virtual void Append(const unsigned char *inPStr);
  33.     virtual void Append(Handle inHandle);
  34.     
  35.     virtual long Length() const;
  36.     virtual long GetData(void *outData, long inLen) const;
  37.     virtual char *GetCStr(char *outCStr, long inLen) const;
  38.     virtual unsigned char *GetPStr(unsigned char *outPStr, short inLen) const;
  39.     
  40. protected:
  41.     virtual void *Ptr() const;
  42.     virtual void Realloc(long inSize);
  43.     
  44. protected:
  45.     void *mPtr;
  46.     long mLen;
  47. };
  48.  
  49. #endif
  50.