64 lines
1.5 KiB
C++
64 lines
1.5 KiB
C++
#include <CapServer/SocketHeader.hpp>
|
|
|
|
SocketHeader::SocketHeader()
|
|
: mSizeHeader(sizeof(mSizeHeader)+sizeof(mVersion)+sizeof(mContentLength)+sizeof(mContentType)),
|
|
mVersion(0), mContentLength(0), mContentType(Unknown)
|
|
{
|
|
}
|
|
|
|
SocketHeader::~SocketHeader()
|
|
{
|
|
}
|
|
|
|
int SocketHeader::getSizeHeader(void)const
|
|
{
|
|
return mSizeHeader;
|
|
}
|
|
|
|
int SocketHeader::getVersion(void)const
|
|
{
|
|
return mVersion;
|
|
}
|
|
|
|
void SocketHeader::setVersion(int version)
|
|
{
|
|
mVersion=version;
|
|
}
|
|
|
|
int SocketHeader::getContentLength(void)const
|
|
{
|
|
return mContentLength;
|
|
}
|
|
|
|
void SocketHeader::setContentLength(int contentLength)
|
|
{
|
|
mContentLength=contentLength;
|
|
}
|
|
|
|
SocketHeader::ContentType SocketHeader::getContentType(void)const
|
|
{
|
|
return (ContentType)mContentType;
|
|
}
|
|
|
|
void SocketHeader::setContentType(int contentType)
|
|
{
|
|
mContentType=(ContentType)contentType;
|
|
}
|
|
|
|
bool SocketHeader::marshall(Socket &socket)
|
|
{
|
|
if(!socket.send((char*)&mSizeHeader,sizeof(int)))return false;
|
|
if(!socket.send((char*)&mVersion,sizeof(int)))return false;
|
|
if(!socket.send((char*)&mContentLength,sizeof(int)))return false;
|
|
if(!socket.send((char*)&mContentType,sizeof(int)))return false;
|
|
return true;
|
|
}
|
|
|
|
bool SocketHeader::unmarshall(Socket &socket)
|
|
{
|
|
if(!socket.receive((char*)&mSizeHeader,sizeof(int)))return false;
|
|
if(!socket.receive((char*)&mVersion,sizeof(int)))return false;
|
|
if(!socket.receive((char*)&mContentLength,sizeof(int)))return false;
|
|
if(!socket.receive((char*)&mContentType,sizeof(int)))return false;
|
|
return true;
|
|
} |