00001 #ifndef TPPROTO_FRAMEFACTORY_H 00002 #define TPPROTO_FRAMEFACTORY_H 00003 /* FrameCodec - changes network protocol to frame objects 00004 * 00005 * Copyright (C) 2005, 2006, 2008 Lee Begg and the Thousand Parsec Project 00006 * 00007 * This program is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * This program is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00020 * 00021 */ 00022 00023 00024 00032 namespace TPProto{ 00033 00034 class ProtocolLayer; 00035 00036 class OkFrame; 00037 class FailFrame; 00038 class Sequence; 00039 class Connect; 00040 class AccountCreate; 00041 class Login; 00042 class Redirect; 00043 class GetFeatures; 00044 class Features; 00045 class SetFilters; 00046 class GetGameInfo; 00047 class GameInfo; 00048 class Ping; 00049 class FinishedFrame; 00050 class GetObjectTypesList; 00051 class ObjectTypesList; 00052 class GetObjectDescription; 00053 class ObjectDescription; 00054 class GetObjectById; 00055 class GetObjectByPos; 00056 class Object; 00057 class GetObjectIdsList; 00058 class GetObjectIdsByPos; 00059 class GetObjectIdsByContainer; 00060 class ObjectIdsList; 00061 class GetOrderDescription; 00062 class OrderDescription; 00063 class GetOrderTypesList; 00064 class OrderTypesList; 00065 class GetOrder; 00066 class Order; 00067 class RemoveOrder; 00068 class ProbeOrder; 00069 class GetTime; 00070 class TimeRemaining; 00071 class GetBoard; 00072 class Board; 00073 class GetBoardIdsList; 00074 class BoardIdsList; 00075 class GetMessage; 00076 class Message; 00077 class RemoveMessage; 00078 class GetResourceDescription; 00079 class ResourceDescription; 00080 class GetResourceTypesList; 00081 class ResourceTypesList; 00082 class GetPlayer; 00083 class Player; 00084 class GetCategory; 00085 class Category; 00086 class AddCategory; 00087 class RemoveCategory; 00088 class GetCategoryIdsList; 00089 class CategoryIdsList; 00090 class GetDesign; 00091 class Design; 00092 class AddDesign; 00093 class ModifyDesign; 00094 class RemoveDesign; 00095 class GetDesignIdsList; 00096 class DesignIdsList; 00097 class GetComponent; 00098 class Component; 00099 class GetComponentIdsList; 00100 class ComponentIdsList; 00101 class GetProperty; 00102 class Property; 00103 class GetPropertyIdsList; 00104 class PropertyIdsList; 00105 // admin frame types 00106 class LogMessage; 00107 class GetCommandDescription; 00108 class CommandDescription; 00109 class GetCommandTypesList; 00110 class CommandTypesList; 00111 class Command; 00112 class CommandResult; 00113 00120 class FrameFactory{ 00121 public: 00122 FrameFactory(); 00123 virtual ~FrameFactory(); 00124 00125 void setProtocolVersion(int ver); 00126 int getProtocolVersion() const; 00127 void setProtocolLayer(ProtocolLayer* pl); 00128 00129 virtual OkFrame* createOk(); 00130 virtual FailFrame* createFail(); 00131 virtual Sequence* createSequence(); 00132 virtual Connect* createConnect(); 00133 virtual AccountCreate* createAccountCreate(); 00134 virtual Login* createLogin(); 00135 virtual Redirect* createRedirect(); 00136 virtual GetFeatures* createGetFeatures(); 00137 virtual Features* createFeatures(); 00138 virtual SetFilters* createSetFilters(); 00139 virtual GetGameInfo* createGetGameInfo(); 00140 virtual GameInfo* createGameInfo(); 00141 virtual Ping* createPing(); 00142 virtual FinishedFrame* createFinished(); 00143 virtual GetObjectTypesList* createGetObjectTypesList(); 00144 virtual ObjectTypesList* createObjectTypesList(); 00145 virtual GetObjectDescription* createGetObjectDescription(); 00146 virtual ObjectDescription* createObjectDescription(); 00147 virtual Object* createObject(); 00148 virtual GetObjectById* createGetObjectById(); 00149 virtual GetObjectByPos* createGetObjectByPos(); 00150 virtual GetObjectIdsList* createGetObjectIdsList(); 00151 virtual GetObjectIdsByPos* createGetObjectIdsByPos(); 00152 virtual GetObjectIdsByContainer* createGetObjectIdsByContainer(); 00153 virtual ObjectIdsList* createObjectIdsList(); 00154 virtual GetOrderDescription* createGetOrderDescription(); 00155 virtual OrderDescription* createOrderDescription(); 00156 virtual GetOrderTypesList* createGetOrderTypesList(); 00157 virtual OrderTypesList* createOrderTypesList(); 00158 virtual GetOrder* createGetOrder(); 00159 virtual Order* createOrder(); 00160 virtual Order* createInsertOrder(); 00161 virtual RemoveOrder* createRemoveOrder(); 00162 virtual ProbeOrder* createProbeOrder(); 00163 virtual GetTime* createGetTimeRemaining(); 00164 virtual TimeRemaining* createTimeRemaining(); 00165 virtual GetBoard* createGetBoard(); 00166 virtual Board* createBoard(); 00167 virtual GetBoardIdsList* createGetBoardIdsList(); 00168 virtual BoardIdsList* createBoardIdsList(); 00169 virtual GetMessage* createGetMessage(); 00170 virtual Message* createMessage(); 00171 virtual Message* createPostMessage(); 00172 virtual RemoveMessage* createRemoveMessage(); 00173 virtual GetResourceDescription* createGetResourceDescription(); 00174 virtual ResourceDescription* createResourceDescription(); 00175 virtual GetResourceTypesList* createGetResourceTypesList(); 00176 virtual ResourceTypesList* createResourceTypesList(); 00177 virtual GetPlayer* createGetPlayer(); 00178 virtual Player* createPlayer(); 00179 virtual GetCategory* createGetCategory(); 00180 virtual Category* createCategory(); 00181 virtual AddCategory* createAddCategory(); 00182 virtual RemoveCategory* createRemoveCategory(); 00183 virtual GetCategoryIdsList* createGetCategoryIdsList(); 00184 virtual CategoryIdsList* createCategoryIdsList(); 00185 virtual GetDesign* createGetDesign(); 00186 virtual Design* createDesign(); 00187 virtual AddDesign* createAddDesign(); 00188 virtual ModifyDesign* createModifyDesign(); 00189 virtual RemoveDesign* createRemoveDesign(); 00190 virtual GetDesignIdsList* createGetDesignIdsList(); 00191 virtual DesignIdsList* createDesignIdsList(); 00192 virtual GetComponent* createGetComponent(); 00193 virtual Component* createComponent(); 00194 virtual GetComponentIdsList* createGetComponentIdsList(); 00195 virtual ComponentIdsList* createComponentIdsList(); 00196 virtual GetProperty* createGetProperty(); 00197 virtual Property* createProperty(); 00198 virtual GetPropertyIdsList* createGetPropertyIdsList(); 00199 virtual PropertyIdsList* createPropertyIdsList(); 00200 // admin frame types 00201 virtual LogMessage* createLogMessage(); 00202 virtual GetCommandDescription* createGetCommandDescription(); 00203 virtual CommandDescription* createCommandDescription(); 00204 virtual GetCommandTypesList* createGetCommandTypesList(); 00205 virtual CommandTypesList* createCommandTypesList(); 00206 virtual Command* createCommand(); 00207 virtual CommandResult* createCommandResult(); 00208 00209 protected: 00212 int pver; 00215 ProtocolLayer* layer; 00216 00217 }; 00218 00219 } 00220 00221 #endif
1.5.1