The Robot Application Programming Interface Delegate Project
RAPID Logo

QueueState.idl

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2009 United States Government as represented by the
00003  * Administrator of the National Aeronautics and Space Administration.
00004  * All Rights Reserved.
00005  */
00006 
00007 #include "Command.idl"
00008 
00016 module rapid{
00017 
00036     enum StatusType {
00037         Q_STATUS_INIT,
00038         Q_STATUS_OUTBOUND,
00039         Q_STATUS_LOST,
00040         Q_STATUS_INLINE,
00041         Q_STATUS_PREEMPTED,
00042         Q_STATUS_INPROCESS,
00043         Q_STATUS_PAUSED,
00044         Q_STATUS_CANCELED,
00045         Q_STATUS_SUCCEEDED,
00046         Q_STATUS_FAILED,
00047         Q_STATUS_ALIEN_PENDING,
00048         Q_STATUS_ALIEN_ACTIVE,
00049         Q_STATUS_ALIEN_COMPLETED,
00050         Q_STATUS_FORGOTTEN_BY_ROBOT
00051     };
00052 
00061     enum ResultType {
00062         Q_RESULT_INIT,
00063         Q_RESULT_SUCCEEDED,
00064         Q_RESULT_FAILED
00065     };
00066 
00068     valuetype CommandRecord {
00069         public Command cmd;
00070         public ResultType trResult;
00071         public StatusType trStatus;
00072     };
00073 
00075     struct SingleQueue {
00076         sequence<CommandRecord,64> queue;
00077     };
00078 
00083     valuetype QueueState : Message {
00084 
00085         // TODO: Make this one big queue, it'll save a lot of memory. The status already covers all different queues.
00086         public SingleQueue pending;
00087         public SingleQueue active;
00088         public SingleQueue completed;
00089         public SingleQueue sent;
00090     };
00091 };
00092 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines