00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef HxCorbaDatabaseSessions_idl
00010 #define HxCorbaDatabaseSessions_idl
00011
00012 #include "HxCorbaDatabase.idl"
00013 #include "HxCorbaTypes.idl"
00014
00015 module HxCorba
00016 {
00017
00019
00020
00021
00023
00024
00026 interface VxSegmentBuilder
00027 {
00028 void addInt(in string id, in long value)
00029 raises(DatabaseException);
00030 void addDouble(in string id, in double value)
00031 raises(DatabaseException);
00032 void addString(in string id, in string value)
00033 raises(DatabaseException);
00034 };
00035
00036
00038 interface VxSegmentationBuilder
00039 {
00040 void setDescription(in string description);
00041 VxSegmentBuilder buildSegment(in long start, in long end)
00042 raises(DatabaseException);
00043 };
00044
00045
00047 interface StoreSession : DatabaseSession
00048 {
00049 void addSegmentation(in VxSegmentation seg,
00050 in string videoName, in string segName,
00051 in string description)
00052 raises(DatabaseException);
00053
00054 VxSegmentationBuilder buildSegmentation(in string videoName, in string segName)
00055 raises(DatabaseException);
00056 };
00057
00059
00060
00061
00063
00064
00066 interface VxMutableSegment : VxSegmentBuilder, VxSegment
00067 {
00068 void setStart(in long start);
00069 void setEnd(in long end);
00070
00071 void removeInt(in string id) raises(DatabaseException);
00072 void removeDouble(in string id) raises(DatabaseException);
00073 void removeString(in string id) raises(DatabaseException);
00074
00075 void changeInt(in string id, in long newValue)
00076 raises(DatabaseException);
00077 void changeDouble(in string id, in double newValue)
00078 raises(DatabaseException);
00079 void changeString(in string id, in string newValue)
00080 raises(DatabaseException);
00081 };
00082
00083
00085 interface VxMutableSegmentation : VxSegmentationBuilder, VxSegmentation
00086 {
00087 void removeSegment(in long index) raises(DatabaseException);
00088 };
00089
00090
00092 interface UpdateSession : StoreSession
00093 {
00094 void removeVideo(in string videoName) raises(DatabaseException);
00095 void removeSegmentation(in VxSegmentation seg) raises(DatabaseException);
00096 void removeSegment(in VxSegment segment) raises(DatabaseException);
00097 };
00098
00100
00101
00102
00104
00106 enum DBDataTag { DBINT, DBDOUBLE, DBSTRING, DBSEGMENTATION, DBSEGMENT };
00107
00109 union DBData switch (DBDataTag) {
00110 case DBINT:
00111 long intData;
00112 case DBDOUBLE:
00113 double doubleData;
00114 case DBSTRING:
00115 string stringData;
00116 case DBSEGMENTATION:
00117 VxSegmentation segmentation;
00118 case DBSEGMENT:
00119 VxSegment segment;
00120 };
00121
00123 typedef sequence<DBDataTag> DBDataTagSeq;
00124
00126 typedef sequence<DBData> DBDataRow;
00127
00129 typedef sequence<DBDataRow> DBDataRowSeq;
00130
00131
00133 interface XMLSession : DatabaseSession
00134 {
00135 string queryXML(in string sqlQuery) raises(DatabaseException);
00136
00137 DBDataRowSeq queryDBData(in string sqlQuery, in DBDataTagSeq resultType)
00138 raises(DatabaseException);
00139 };
00140
00142
00143
00144
00146
00147
00149 interface HistogramSession : DatabaseSession
00150 {
00151 void addHistogram(in string imageName, in string setName,
00152 in FloatSeq histoData) raises(DatabaseException);
00153 FloatSeq getHistogram(in string imageName, in string setName)
00154 raises(DatabaseException);
00155 StringSeq nearest(in string imageName, in string setName, in long count)
00156 raises(DatabaseException);
00157 StringSeq random(in string setName, in long count)
00158 raises(DatabaseException);
00159
00160 StringSeq search(in long count, in FloatSeq sample)
00161 raises(DatabaseException);
00162 };
00163
00165
00166
00167
00169
00171 interface VxSimilarityBuilder
00172 {
00173 void addSimilarity(in long index1, in long index2, in double value,
00174 in long keyFrame1, in long keyFrame2)
00175 raises(DatabaseException);
00176 };
00177
00178
00180 interface VxSimilaritySession : DatabaseSession
00181 {
00182 VxSimilarityBuilder addSimilarities(in string videoName, in string segName,
00183 in string featureName)
00184 raises(DatabaseException);
00185 };
00186
00188
00189
00190
00192
00193
00195 interface FullSession : UpdateSession, XMLSession, HistogramSession,
00196 VxSimilaritySession
00197 {
00198 };
00199
00200 };
00201
00202 #endif // HxCorbaDatabaseSessions_idl