00001 // -*- IDL -*- 00018 /* 00019 * $Log: RTCProfile.idl,v $ 00020 * Revision 1.1.1.1 2005/05/12 09:06:18 n-ando 00021 * Public release. 00022 * 00023 * 00024 */ 00025 00026 #ifndef __RTCProfile_idl__ 00027 #define __RTCProfile_idl__ 00028 00029 #include "RTMBase.idl" 00030 #include "RTCDataType.idl" 00031 #include "RTComponent.idl" 00032 #include "RTCInPort.idl" 00033 #include "RTCOutPort.idl" 00034 00035 00036 00037 module RTM { 00038 interface RTComponent; 00039 00040 /*------------------------------------------------------------ 00041 * RTCAuthor 00042 * 00043 * @brief Author profile in RTCModuleProfile 00044 struct RTCAuthor { 00045 string name; 00046 string company; 00047 }; 00048 *------------------------------------------------------------*/ 00049 00058 enum RTComponentType { 00068 STATIC, 00080 UNIQUE, 00091 COMMUTATIVE 00092 }; 00093 00102 enum RTCActivityType { 00114 PERIODIC, 00124 SPORADIC, 00134 EVENT_DRIVEN 00135 }; 00136 00145 enum RTCLangType { 00153 COMPILE, 00161 SCRIPT 00162 }; 00163 00171 typedef sequence<octet> RTCIconImage; 00172 // typedef sequence<OutPortProfile> RTCOutPortProfileList; 00173 // typedef sequence<InPortProfile> RTCInPortProfileList; 00174 00182 struct RTCProfile 00183 { 00184 string name; 00192 string instance_id; 00200 string implementation_id; 00210 string description; 00211 00219 string version; 00220 00228 string maker; 00229 // RTCAuthor author; 00230 00239 string category; 00240 00249 RTComponentType component_type; 00250 00259 RTCActivityType activity_type; 00260 00270 long max_instance; 00271 00279 string language; 00280 00289 RTCLangType language_type; 00290 00298 RTCIconImage iconimage; 00299 00307 string module_profile_file; 00308 00316 PortProfileList outport_profile_list; 00317 00325 PortProfileList inport_profile_list; 00326 00327 }; // end of RTCModuleProfile 00328 00329 00330 /* 00331 struct RTCProfile 00332 { 00333 00334 //------------------------------------------------------------ 00335 // Component specific profile 00336 //------------------------------------------------------------ 00338 string name; 00339 00341 Time period; 00342 00344 Time exec_time; 00345 00347 RTComponent parent; 00348 00350 RTComponentList child; 00351 00352 }; // end of RTCProfile 00353 */ 00354 00355 struct RTCManagerProfile 00356 { 00357 //------------------------------------------------------------ 00358 // Host on which component runs spesific profile 00359 //------------------------------------------------------------ 00361 string sysname; 00362 00364 string nodename; 00365 00367 string ip_address; 00368 00370 string release; 00371 00373 string version; 00374 00376 string architecture; 00377 00379 short pid; 00380 }; // end of RTCManagerProfile 00381 00382 /* 00383 struct RTCConfiguration 00384 { 00385 NVList configuration; 00386 }; 00387 */ 00388 00389 }; // end of namespace RTM 00390 00391 #endif // __RTCProfile__