Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members  

HxCorbaDatabase.idl

Go to the documentation of this file.
00001 
00002 /*
00003  *  Copyright (c) 2001, University of Amsterdam, The Netherlands.
00004  *  All rights reserved.
00005  *
00006  *  Author(s):
00007  *  Marc Navarro            (mnavarro@wins.uva.nl)
00008  */
00009 
00010 #ifndef HxCorbaDatabase_idl
00011 #define HxCorbaDatabase_idl
00012 
00013 #include "HxCorbaVxSegmentation.idl"
00014 
00015 module HxCorba
00016 {
00017     exception DatabaseException 
00018     {
00019         long            dbCode;
00020         string          dbMessage;
00021         string          message; // maybe more friendly
00022     };
00023     
00024     interface VxSegmentBuilder
00025     {
00026         void                addInt(in string id, in long value)
00027                                 raises(DatabaseException);
00028         void                addDouble(in string id, in double value)
00029                                 raises(DatabaseException);
00030         void                addString(in string id, in string value)
00031                                 raises(DatabaseException);
00032         
00033         void                close();
00034     };
00035 
00036     interface VxSegmentationBuilder
00037     {
00038         void                setDescription(in string description);
00039         VxSegmentBuilder    addSegment(in long start, in long end)
00040                                 raises(DatabaseException);
00041         
00042         void                close();
00043     };
00044     
00045     struct FeatureCondition
00046     {
00047         string featType;
00048         string feature;
00049         string expression;
00050     };
00051     
00052     typedef sequence<FeatureCondition> FeatureCondSeq;
00053     
00054     struct SegmentationCondition
00055     {
00056         string                  segName;
00057         FeatureCondSeq          featureCond;
00058     };
00059 
00060     typedef sequence<SegmentationCondition> SegmentationConditionSeq;
00061 
00062     struct OverlappingCondition
00063     {
00064         boolean                 total;
00065         SegmentationCondition   segCond;
00066     };
00067     
00068     typedef sequence<OverlappingCondition> OverlappingCondSeq;
00069 
00070     interface VxJoinedSegments
00071     {
00072         long        start();
00073         long        end();
00074 
00075         long        getInt(in string segmentation, in string id);
00076         double      getDouble(in string segmentation, in string id);
00077         string      getString(in string segmentation, in string id);
00078         
00079         long        getIntFlag(in string segmentation, in string id, out boolean present);
00080         double      getDoubleFlag(in string segmentation, in string id, out boolean present);
00081         string      getStringFlag(in string segmentation, in string id, out boolean present);
00082         
00083         StringSeq   listSegmentations();
00084         VxSegment   getSegment(in string segmentation);
00085     };
00086 
00087     typedef sequence<VxJoinedSegments> VxJoinedSegmentsSeq;
00088             
00089     interface DatabaseSession
00090     {
00091         StringSeq           listVideos();
00092         StringSeq           listSegmentations(in string videoName);
00093         VxSegmentation      getSegmentation(in string videoName, in string segName);
00094         
00095         void                addSegmentation(in VxSegmentation seg,
00096                                 in string videoName, in string segName,
00097                                 in string description)
00098                                     raises(DatabaseException);
00099                                 
00100         VxSegmentationBuilder buildSegmentation(in string videoName, 
00101             in string segName) raises(DatabaseException);
00102             
00103 
00104         VxSegmentSeq        querySegments(in string sqlQuery)
00105                                     raises(DatabaseException);
00106 
00107             
00108             
00109         VxSegmentSeq        querySegmentations(in string videoName, 
00110                                 in SegmentationCondition segCond, 
00111                                 in OverlappingCondSeq overlappings)
00112                                     raises(DatabaseException);
00113 
00114         VxJoinedSegmentsSeq queryIntersections(in string videoName,
00115                                 in SegmentationConditionSeq conds)
00116                                     raises(DatabaseException);
00117 
00118         string              queryXML(in string sqlQuery)
00119                                     raises(DatabaseException);
00120         
00121         /*
00122         VxJoinedSegmentsSeq joinSegments(in string videoName,
00123                                 in VxTimeSpan timeSpan, 
00124                                 in StringSeq segmentations);
00125         */
00126 
00127         void                close();
00128     };
00129     
00130     interface Database
00131     {
00132         DatabaseSession   openSession(in string username, in string password)
00133                             raises(DatabaseException);
00134     };
00135     
00136 };
00137 
00138 #endif

Generated on Tue Jan 8 13:55:43 2002 for IDLReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001