00001
00002 #ifndef __CRYPTO_BASIC_H__
00003 #define __CRYPTO_BASIC_H__
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include <XProtocol/XProtocol.hh>
00023 #include <XrdSut/XrdSutBucket.hh>
00024
00025
00026
00027
00028
00029
00030 class XrdCryptoBasic
00031 {
00032 public:
00033
00034 XrdCryptoBasic(const char *t = 0, int l = 0, const char *b = 0);
00035
00036 virtual ~XrdCryptoBasic()
00037 { if (type) delete[] type; if (membuf) delete[] membuf; }
00038
00039 virtual XrdSutBucket *AsBucket();
00040 char *AsHexString();
00041 virtual int Length() const { return lenbuf; }
00042 virtual char *Buffer() const { return membuf; }
00043 virtual char *Type() const { return type; }
00044
00045 virtual int FromHex(const char *hex);
00046 virtual int SetLength(int l);
00047 virtual int SetBuffer(int l, const char *b);
00048 virtual int SetType(const char *t);
00049
00050 virtual void UseBuffer(int l, const char *b)
00051 { if (membuf) delete[] membuf; membuf = (char *)b; lenbuf = l; }
00052
00053 private:
00054 kXR_int32 lenbuf;
00055 char *membuf;
00056 char *type;
00057 };
00058
00059 #endif