Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VsnetDownload::RecvCmdDownload Class Reference

#include <vsnet_parsecmd.h>

Public Member Functions

 RecvCmdDownload (NetBuffer &buffer)
 
 ~RecvCmdDownload ()
 
Subcommand parse ()
 
Adapter::ResolveRequestasResolveRequest () const
 
Adapter::ResolveResponseasResolveResponse () const
 
Adapter::DownloadRequestasDownloadRequest () const
 
Adapter::DownloadErrorasDownloadError () const
 
Adapter::DownloadasDownload () const
 
Adapter::DownloadFirstFragmentasDownloadFirstFragment () const
 
Adapter::DownloadFragmentasDownloadFragment () const
 
Adapter::DownloadLastFragmentasDownloadLastFragment () const
 
Adapter::UnexpectedSubcommandasUnexpectedSubcommand () const
 

Detailed Description

Definition at line 39 of file vsnet_parsecmd.h.

Constructor & Destructor Documentation

VsnetDownload::RecvCmdDownload::RecvCmdDownload ( NetBuffer buffer)

Definition at line 21 of file vsnet_parsecmd.cpp.

21  :
22  _buf( buffer )
23  , _base( NULL )
24 {}
VsnetDownload::RecvCmdDownload::~RecvCmdDownload ( )

Definition at line 26 of file vsnet_parsecmd.cpp.

27 {
28  if (_base) delete _base;
29 }

Member Function Documentation

Adapter::Download* VsnetDownload::RecvCmdDownload::asDownload ( ) const
inline

Definition at line 62 of file vsnet_parsecmd.h.

63  {
64  return (Adapter::Download*) _base;
65  }
Adapter::DownloadError* VsnetDownload::RecvCmdDownload::asDownloadError ( ) const
inline

Definition at line 58 of file vsnet_parsecmd.h.

59  {
60  return (Adapter::DownloadError*) _base;
61  }
Adapter::DownloadFirstFragment* VsnetDownload::RecvCmdDownload::asDownloadFirstFragment ( ) const
inline

Definition at line 66 of file vsnet_parsecmd.h.

67  {
68  return (Adapter::DownloadFirstFragment*) _base;
69  }
Adapter::DownloadFragment* VsnetDownload::RecvCmdDownload::asDownloadFragment ( ) const
inline

Definition at line 70 of file vsnet_parsecmd.h.

71  {
72  return (Adapter::DownloadFragment*) _base;
73  }
Adapter::DownloadLastFragment* VsnetDownload::RecvCmdDownload::asDownloadLastFragment ( ) const
inline

Definition at line 74 of file vsnet_parsecmd.h.

75  {
76  return (Adapter::DownloadLastFragment*) _base;
77  }
Adapter::DownloadRequest* VsnetDownload::RecvCmdDownload::asDownloadRequest ( ) const
inline

Definition at line 54 of file vsnet_parsecmd.h.

Referenced by VsnetDownload::Server::Manager::addCmdDownload().

55  {
56  return (Adapter::DownloadRequest*) _base;
57  }
Adapter::ResolveRequest* VsnetDownload::RecvCmdDownload::asResolveRequest ( ) const
inline

Definition at line 46 of file vsnet_parsecmd.h.

Referenced by VsnetDownload::Server::Manager::addCmdDownload().

47  {
48  return (Adapter::ResolveRequest*) _base;
49  }
Adapter::ResolveResponse* VsnetDownload::RecvCmdDownload::asResolveResponse ( ) const
inline

Definition at line 50 of file vsnet_parsecmd.h.

51  {
52  return (Adapter::ResolveResponse*) _base;
53  }
Adapter::UnexpectedSubcommand* VsnetDownload::RecvCmdDownload::asUnexpectedSubcommand ( ) const
inline

Definition at line 78 of file vsnet_parsecmd.h.

79  {
80  return (Adapter::UnexpectedSubcommand*) _base;
81  }
VsnetDownload::Subcommand VsnetDownload::RecvCmdDownload::parse ( )

Definition at line 31 of file vsnet_parsecmd.cpp.

References c, VsnetDownload::Adapter::Base::c, VsnetDownload::Download, VsnetDownload::DownloadError, VsnetDownload::DownloadFirstFragment, VsnetDownload::DownloadFragment, VsnetDownload::DownloadLastFragment, VsnetDownload::DownloadRequest, e, VsnetDownload::Adapter::ResolveRequest::entry::file, VsnetDownload::Adapter::ResolveResponse::entry::file, VsnetDownload::Adapter::DownloadRequest::entry::file, VsnetDownload::Adapter::DownloadError::file, VsnetDownload::Adapter::Download::file, VsnetDownload::Adapter::DownloadFirstFragment::file, VsnetDownload::Adapter::DownloadFirstFragment::file_len, VsnetDownload::Adapter::ResolveRequest::files, VsnetDownload::Adapter::ResolveResponse::files, VsnetDownload::Adapter::DownloadRequest::files, VsnetDownload::Adapter::ResolveRequest::entry::ft, VsnetDownload::Adapter::DownloadRequest::entry::ft, NetBuffer::getBuffer(), NetBuffer::getChar(), NetBuffer::getInt32(), NetBuffer::getShort(), NetBuffer::getString(), i, VsnetDownload::Adapter::ResolveRequest::num, VsnetDownload::Adapter::ResolveResponse::num, VsnetDownload::Adapter::DownloadRequest::num, VsnetDownload::Adapter::ResolveResponse::entry::ok, VsnetDownload::Adapter::Download::payload, VsnetDownload::Adapter::DownloadFirstFragment::payload, VsnetDownload::Adapter::DownloadFragment::payload, VsnetDownload::Adapter::DownloadLastFragment::payload, VsnetDownload::Adapter::Download::payload_len, VsnetDownload::Adapter::DownloadFirstFragment::payload_len, VsnetDownload::Adapter::DownloadFragment::payload_len, VsnetDownload::Adapter::DownloadLastFragment::payload_len, VsnetDownload::ResolveRequest, VsnetDownload::ResolveResponse, and VsnetDownload::UnexpectedSubcommand.

Referenced by VsnetDownload::Server::Manager::addCmdDownload().

32 {
33  char c = _buf.getChar();
34  switch (c)
35  {
37  {
40  r->num = _buf.getShort();
41  for (int i = 0; i < r->num; i++) {
42  Adapter::ResolveRequest::entry e;
43  e.ft = _buf.getChar();
44  e.file = _buf.getString();
45  r->files.push_back( e );
46  }
47  _base = r;
48  break;
49  }
51  {
54  r->num = _buf.getShort();
55  for (int i = 0; i < r->num; i++) {
56  Adapter::ResolveResponse::entry e;
57  e.file = _buf.getString();
58  e.ok = _buf.getChar();
59  r->files.push_back( e );
60  }
61  _base = r;
62  break;
63  }
65  {
68  r->num = _buf.getShort();
69  for (int i = 0; i < r->num; i++) {
70  Adapter::DownloadRequest::entry e;
71  e.ft = _buf.getChar();
72  e.file = _buf.getString();
73  r->files.push_back( e );
74  }
75  _base = r;
76  break;
77  }
79  {
82  r->file = _buf.getString();
83  _base = r;
84  break;
85  }
87  {
90  r->file = _buf.getString();
91  r->payload_len = _buf.getShort();
92  r->payload = _buf.getBuffer( r->payload_len );
93  _base = r;
94  break;
95  }
97  {
100  r->file = _buf.getString();
101  r->file_len = _buf.getInt32();
102  r->payload_len = _buf.getShort();
103  r->payload = _buf.getBuffer( r->payload_len );
104  _base = r;
105  break;
106  }
108  {
111  r->payload_len = _buf.getShort();
112  r->payload = _buf.getBuffer( r->payload_len );
113  _base = r;
114  break;
115  }
117  {
120  r->payload_len = _buf.getShort();
121  r->payload = _buf.getBuffer( r->payload_len );
122  _base = r;
123  break;
124  }
125  default:
126  {
129  _base = r;
130  break;
131  }
132  }
133  return _base->c;
134 }

The documentation for this class was generated from the following files: