00001
00002
00007
00008
00009 #ifndef Signal_h
00010 #define Signal_h
00011
00012 #include "AGTypes.h"
00013 #include "Metadata.h"
00014
00015 using namespace std;
00016
00023 class Signal {
00024 private:
00026 const Id id;
00027
00029 const MimeClass mimeClass;
00030
00032 const MimeType mimeType;
00033
00035 const Encoding encoding;
00036
00038 const string xlinkType;
00039
00041 const string xlinkHref;
00042
00044 const Unit unit;
00045
00047 const Track track;
00048
00050 Metadata metadata;
00051
00052 public:
00054 Signal(const Id id, string xlinkHref, MimeClass mimeClass, MimeType mimeType, Encoding encoding, Unit unit, Track track="");
00055
00057 const Id getId() const ;
00058
00060 const MimeClass getMimeClass() const;
00061
00063 const MimeType getMimeType() const;
00064
00066 const Encoding getEncoding() const;
00067
00069 const string getXlinkHref() const;
00070
00072 const string getXlinkType() const;
00073
00075 const Unit getUnit() const;
00076
00078 const Track getTrack() const;
00079
00081 void setFeature(FeatureName featureName, FeatureValue featureValue);
00082
00084 bool existsFeature(FeatureName featureName);
00085
00087 void deleteFeature(FeatureName featureName);
00088
00090 string getFeature(FeatureName featureName);
00091
00095 StringSet getFeatureNames();
00096
00104 void setFeatures(Features features);
00105
00113 Features getFeatures();
00114
00119 void unsetFeatures();
00120
00122 list<string> storeSQLs(AGSetId agSetId, TimelineId timelineId);
00123
00125 string toString();
00126
00127 };
00128
00129 typedef set<Signal*> SignalSet;
00130
00131 #endif
00132