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
CzActionsProgram.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_PROGRAM_H_)
00015 #define _CZ_ACTIONS_PROGRAM_H_
00016 
00017 #include "CzActions.h"
00018 #include "CzXoml.h"
00019 
00020 /**
00021  @addtogroup Actions
00022  @{
00023  */
00024  
00025 /**
00026  @class CzXomlActions_Program
00027 
00028  @brief Implements actions that relate to programs
00029 
00030  The CzXomlActions_Program class holds Actions (IzXomlAction) that deal with XOML programs such as ChangeProgram
00031  
00032  The following actions are supported:
00033  - ChangeProgram
00034 
00035  The above actions have the following XOML prototypes:
00036  - ChangeProgram(program-name, command, program-container-scene(optional), goto-command-name(optional))
00037    - program-name - Name of program to change
00038    - command - Command to pass to the program, which includes:
00039      - start - Starts the program executing
00040      - stop - Stops the program
00041      - pause - Pauses execution of the program
00042      - next - Forces program to its next command
00043      - restart - Restarts the program to the beginning
00044      - goto - Changes execution to the name command within the program
00045      - priority - Sets the program as the priority program
00046    - program-container-scene - If supplied then program in this scene will be changed
00047    - goto-command-name - Used by goto to specify command name to change execution to
00048 
00049  For more information on programs see CzProgram
00050  
00051  */
00052 
00053 class CzXomlActions_Program : public IzXomlAction
00054 {
00055 public:
00056     enum eActionType
00057     {
00058         Action_ChangeProgram    = 0, 
00059         Action_Max              = 1, 
00060     };
00061 protected:
00062     eActionType Type;
00063     CzXomlActions_Program() {}
00064 public:
00065     CzXomlActions_Program(eActionType type)
00066     {
00067         Type = type;
00068         switch (Type)
00069         {
00070         case Action_ChangeProgram:
00071             setActionName("changeprogram");
00072             break;
00073         }
00074     }
00075     void Execute(IzXomlResource* source, CzAction* action);
00076 };
00077 
00078 /// @}
00079 
00080 #endif // _CZ_ACTIONS_PROGRAM_H_