00001 // -*- IDL -*- 00022 #ifndef __RTCProfile_idl__ 00023 #define __RTCProfile_idl__ 00024 00025 #include "RTMBase.idl" 00026 #include "RTCDataType.idl" 00027 #include "RTComponent.idl" 00028 #include "RTCInPort.idl" 00029 #include "RTCOutPort.idl" 00030 00031 00032 00033 module RTM { 00034 interface RTComponent; 00035 00036 /*------------------------------------------------------------ 00037 * RTCAuthor 00038 * 00039 * @brief Author profile in RTCModuleProfile 00040 struct RTCAuthor { 00041 string name; 00042 string company; 00043 }; 00044 *------------------------------------------------------------*/ 00045 00054 enum RTComponentType { 00064 STATIC, 00076 UNIQUE, 00087 COMMUTATIVE 00088 }; 00089 00098 enum RTCActivityType { 00110 PERIODIC, 00120 SPORADIC, 00130 EVENT_DRIVEN 00131 }; 00132 00141 enum RTCLangType { 00149 COMPILE, 00157 SCRIPT 00158 }; 00159 00167 typedef sequence<octet> RTCIconImage; 00168 // typedef sequence<OutPortProfile> RTCOutPortProfileList; 00169 // typedef sequence<InPortProfile> RTCInPortProfileList; 00170 00178 struct RTCProfile 00179 { 00180 string name; 00188 string instance_id; 00196 string implementation_id; 00206 string description; 00207 00215 string version; 00216 00224 string maker; 00225 // RTCAuthor author; 00226 00235 string category; 00236 00245 RTComponentType component_type; 00246 00255 RTCActivityType activity_type; 00256 00266 long max_instance; 00267 00275 string language; 00276 00285 RTCLangType language_type; 00286 00294 RTCIconImage iconimage; 00295 00303 string module_profile_file; 00304 00312 PortProfileList outport_profile_list; 00313 00321 PortProfileList inport_profile_list; 00322 00323 }; // end of RTCModuleProfile 00324 00325 00326 /* 00327 struct RTCProfile 00328 { 00329 00330 //------------------------------------------------------------ 00331 // Component specific profile 00332 //------------------------------------------------------------ 00334 string name; 00335 00337 Time period; 00338 00340 Time exec_time; 00341 00343 RTComponent parent; 00344 00346 RTComponentList child; 00347 00348 }; // end of RTCProfile 00349 */ 00350 00351 struct RTCManagerProfile 00352 { 00353 //------------------------------------------------------------ 00354 // Host on which component runs spesific profile 00355 //------------------------------------------------------------ 00357 string sysname; 00358 00360 string nodename; 00361 00363 string ip_address; 00364 00366 string release; 00367 00369 string version; 00370 00372 string architecture; 00373 00375 short pid; 00376 }; // end of RTCManagerProfile 00377 00378 /* 00379 struct RTCConfiguration 00380 { 00381 NVList configuration; 00382 }; 00383 */ 00384 00385 }; // end of namespace RTM 00386 00387 #endif // __RTCProfile__