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 struct VxTimeSpan { long start; long end; };
00017
00018 typedef sequence<VxTimeSpan> VxTimeSpanSeq;
00019
00020 interface VxSegment
00021 {
00022 long start();
00023 long end();
00024 long length();
00025
00026 StringSeq getIds();
00027 StringSeq getTypes();
00028
00029 long getInt(in string id);
00030 double getDouble(in string id);
00031 string getString(in string id);
00032
00033 long getIntFlag(in string id, out boolean present);
00034 double getDoubleFlag(in string id, out boolean present);
00035 string getStringFlag(in string id, out boolean present);
00036
00037
00038
00039
00040 };
00041
00042 typedef sequence<VxSegment> VxSegmentSeq;
00043
00044 interface VxSegmentation
00045 {
00046 long size();
00047 VxSegmentSeq getAll();
00048 VxTimeSpanSeq getTimeSpans();
00049
00050 StringSeq getIds();
00051 StringSeq getTypes();
00052
00053 VxSegment getSegment(in long index);
00054 VxSegment mapsToSegment(in long timeSpan);
00055
00056
00057 };
00058
00059 interface VxSegmentationFactory
00060 {
00061 VxSegmentation makeVxSegmentation(in string filename);
00062 VxSegmentation importSegmentation(in VxSegmentation seg);
00063 };
00064 };
00065
00066 #endif //HxCorbaVxSegmentation_idl