The Robot Application Programming Interface Delegate Project
|
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