Horus Doc || IDL Reference || C++ Binding   Java Binding || Doxygen's quick Index  

HxCorbaDatabaseSessions.idl

Go to the documentation of this file.
00001 /*
00002  *  Copyright (c) 2002, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *  Author(s):
00006  *  Marc Navarro            (mnavarro@wins.uva.nl)
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 // StoreSession
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 // UpdateSession
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 // XMLSession
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 // HistogramSession
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 // VxSimilaritySession
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 // FullSession
00190 //
00192 
00193 
00195 interface FullSession : UpdateSession, XMLSession, HistogramSession,
00196                         VxSimilaritySession
00197 {
00198 };
00199 
00200 }; // module HxCorba
00201 
00202 #endif // HxCorbaDatabaseSessions_idl

Generated on Mon Jan 27 15:09:38 2003 for IDLReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001