00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef HxCorbaVxSegmentation_idl
00010 #define HxCorbaVxSegmentation_idl
00011
00012 #include "HxCorbaTypes.idl"
00013
00014 module HxCorba
00015 {
00016
00018 struct VxTimeSpan { long start; long end; };
00019
00021 typedef sequence<VxTimeSpan> VxTimeSpanSeq;
00022
00023
00025 interface VxSegment
00026 {
00027 long start();
00028 long end();
00029 long length();
00030
00031 StringSeq getIds();
00032 StringSeq getTypes();
00033
00034 long getInt(in string id);
00035 double getDouble(in string id);
00036 string getString(in string id);
00037
00038 long getIntFlag(in string id, out boolean present);
00039 double getDoubleFlag(in string id, out boolean present);
00040 string getStringFlag(in string id, out boolean present);
00041
00042
00043
00044
00045 };
00046
00047
00049 typedef sequence<VxSegment> VxSegmentSeq;
00050
00051
00053 interface VxSegmentation
00054 {
00055 long size();
00056 VxSegmentSeq getAll();
00057 VxTimeSpanSeq getTimeSpans();
00058
00059 StringSeq getIds();
00060 StringSeq getTypes();
00061
00062 VxSegment getSegment(in long index);
00063 VxSegment mapsToSegment(in long timeSpan);
00064
00065
00066 };
00067
00068
00070 interface VxSegmentationFactory
00071 {
00072 VxSegmentation makeVxSegmentation(in string filename);
00073 VxSegmentation importSegmentation(in VxSegmentation seg);
00074 };
00075
00076 };
00077
00078 #endif //HxCorbaVxSegmentation_idl