#ifndef _YPROXY_YHEADER_HPP_ #define _YPROXY_YHEADER_HPP_ #ifndef _COMMON_STRING_HPP_ #include #endif class YHeader { public: YHeader(); YHeader(const String &name,int size,int line,int part); virtual ~YHeader(); bool fromString(String strLine); const String &getName(void)const; void setName(const String &name); int getSize(void)const; void setSize(int size); int getLine(void)const; void setLine(int line); int getPart(void)const; void setPart(int part); private: String mName; int mSize; int mLine; int mPart; }; inline YHeader::YHeader() : mSize(0), mLine(0), mPart(0) { } inline YHeader::YHeader(const String &name,int size,int line,int part) : mName(name), mSize(size), mLine(line), mPart(part) { } inline YHeader::~YHeader() { } inline bool YHeader::fromString(String strLine) { int pos; if(-1==(pos=strLine.strpos("=ybegin ")))return false; if(-1==(pos=strLine.strpos("name=")))return false; setName(strLine.substr(pos).betweenString('=',0)); if(-1==(pos=strLine.strpos("size=")))return false; setSize(strLine.substr(pos).betweenString('=',0).toInt()); if(-1==(pos=strLine.strpos("line=")))return false; setLine(strLine.substr(pos).betweenString('=',0).toInt()); if(-1==(pos=strLine.strpos("part=")))return false; setPart(strLine.substr(pos).betweenString('=',0).toInt()); return true; /* if (aDsp) print("\r\nTrigger: %s\r\n",line); // Start of a section found cp=strstr(line,"name="); if (cp==NULL) { eprint("'name=' not found in =ybegin line. (%s)\r\n",line); errors++; goto loop; // Error - filename not found } strcpy(attname,cp+5); // Store the filename *cp=0; // throw away the filename cp=strstr(line,"size="); if (cp==NULL) { eprint("'size=' not found in =ybegin line. (%s)\r\n",line); errors++; goto loop; // Error - size not found } y_size=atol(cp+5); cp=strstr(line,"line="); if (cp==NULL) { eprint("'line=' not found in =ybegin line. (%s)\r\n",line); errors++; goto loop; // Error - linelength not found } y_line=atol(cp+5); y_part=0; cp=strstr(line,"part="); // Check if this is a multipart message if (cp) { y_part=atol(cp+5); // if (y_part != 1) goto loop; // MUST start with the first part for proper decoding } */ } inline const String &YHeader::getName(void)const { return mName; } inline void YHeader::setName(const String &name) { mName=name; } inline int YHeader::getSize(void)const { return mSize; } inline void YHeader::setSize(int size) { mSize=size; } inline int YHeader::getLine(void)const { return mLine; } inline void YHeader::setLine(int line) { mLine=line; } inline int YHeader::getPart(void)const { return mPart; } inline void YHeader::setPart(int part) { mPart=part; } #endif