AppEasy Core SDK  1.5.0
Cross platform mobile and desktop app and game development SDK - The easy way to make apps
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
CzActionsComms.h
Go to the documentation of this file.
00001 // 
00002 //
00003 // AppEasy SDK - Cross Platform Multi-purpose Game and App Engine
00004 //
00005 // Developed by Matthew Hopwood of Pocketeers Limited - www.pocketeers.co.uk
00006 //
00007 // For updates, tutorials and more details check out www.appeasymobile.com
00008 //
00009 // This code is provided free of charge and without any warranty whatsoever. You must ensure that this whole notice is present in all files and derivatives, so the reader knows its origin.
00010 // If you use this SDK in your product then please ensure that you credit AppEasy's usage appropriately. Please see www.appeasymobile.com for licensing details and support
00011 //
00012 //
00013 
00014 #if !defined(_CZ_ACTIONS_COMMS_H_)
00015 #define _CZ_ACTIONS_COMMS_H_
00016 
00017 #include "CzActions.h"
00018 #include "CzXoml.h"
00019 
00020 /**
00021  @addtogroup Actions
00022  @{
00023  */
00024  
00025 /**
00026  @class CzXomlActions_Comms
00027 
00028  @brief Implements a collection of comms actions.
00029 
00030  The CzXomlActions_Comms class holds Actions (IzXomlAction) that deal with communications such as sending remote requests. A comms action is basically a command that 
00031  causes some kind of communication between a server or another device to take place. 
00032  
00033  The following actions are supported:
00034  - RemoteReq        - Processes a remote rquest
00035 
00036  The above actions have the following XOML prototypes:
00037  - RemoteReq(remote-request-name, data-to-send(optional))
00038    - remote-request-name - Name of RemoteReq resource to call
00039    - data-to-send - Data to send to the request (replaced that which is supplied by the remote request definition)
00040 
00041  For more information on the remote request system see CzRemoteReq
00042  
00043  */
00044 
00045 class CzXomlActions_Comms : public IzXomlAction
00046 {
00047 public:
00048     enum eActionType
00049     {
00050         Action_RemoteReq            = 0, 
00051         Action_Max                  = 1, 
00052     };
00053 protected:
00054     eActionType Type;
00055     CzXomlActions_Comms() {}
00056 public:
00057     CzXomlActions_Comms(eActionType type)
00058     {
00059         Type = type;
00060         switch (Type)
00061         {
00062         case Action_RemoteReq:
00063             setActionName("remotereq");
00064             break;
00065         }
00066     }
00067     void Execute(IzXomlResource* source, CzAction* action);
00068 };
00069 
00070 /// @}
00071 
00072 #endif // _CZ_ACTIONS_COMMS_H_