00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TORC_GENERIC_OM_WRITTEN_HPP
00017 #define TORC_GENERIC_OM_WRITTEN_HPP
00018
00019 #include "torc/generic/om/PointerTypes.hpp"
00020 #include "torc/generic/om/Commentable.hpp"
00021 #include "torc/generic/om/PropertyContainer.hpp"
00022 #include "torc/generic/om/UserDataContainer.hpp"
00023 #include "torc/generic/om/TimeStamp.hpp"
00024 #include "torc/generic/om/SelfReferencing.hpp"
00025 #include "torc/generic/om/FactoryType.hpp"
00026
00027 namespace torc {
00028
00029 namespace generic {
00030
00031
00032
00033
00034 class Written :
00035 public Commentable,
00036 public PropertyContainer,
00037 public UserDataContainer,
00038 public SelfReferencing<Written> {
00039
00040 friend class FactoryType<Written>;
00041
00042 public:
00043
00044
00045
00046
00047 class Factory: public FactoryType<Written>
00048 {
00049 public:
00050 using FactoryType<Written>::create;
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064 virtual WrittenSharedPtr
00065 newWrittenPtr( const TimeStamp & inTimeStamp,
00066 const StatusSharedPtr & inStatusPtr,
00067 const std::string & inAuthorName = std::string(),
00068 const std::string & inProgramName = std::string(),
00069 const std::string & inProgramVersion = std::string(),
00070 const std::string & inDataOriginLocName = std::string(),
00071 const std::string & inDataOriginVersion = std::string() ) throw(Error);
00072 };
00073
00074
00075
00076
00077
00078
00079 inline const TimeStamp
00080 getTimeStamp() const throw();
00081
00082
00083
00084
00085
00086
00087 void
00088 setTimeStamp(const TimeStamp & inTimeStamp) throw();
00089
00090
00091
00092
00093
00094
00095 inline const std::string
00096 getAuthorName() const throw();
00097
00098
00099
00100
00101
00102
00103 void
00104 setAuthorName(const std::string & inAuthorName) throw();
00105
00106
00107
00108
00109
00110
00111 inline const std::string
00112 getProgramName() const throw();
00113
00114
00115
00116
00117
00118
00119 void
00120 setProgramName(const std::string & inProgramName) throw();
00121
00122
00123
00124
00125
00126
00127 inline const std::string
00128 getProgramVersion() const throw();
00129
00130
00131
00132
00133
00134
00135 void
00136 setProgramVersion(const std::string & inProgramVersion) throw();
00137
00138
00139
00140
00141
00142
00143 inline const std::string
00144 getDataOriginLocationName() const throw();
00145
00146
00147
00148
00149
00150
00151 void
00152 setDataOriginLocationName(const std::string & value) throw();
00153
00154
00155
00156
00157
00158
00159 inline const std::string
00160 getDataOriginVersion() const throw();
00161
00162
00163
00164
00165
00166
00167 void
00168 setDataOriginVersion(const std::string & inDataOriginVersion) throw();
00169
00170 Written();
00171
00172 ~Written() throw();
00173
00174 private:
00175 TimeStamp mTimeStamp;
00176 std::string mAuthorName;
00177 std::string mProgramName;
00178 std::string mProgramVersion;
00179 std::string mDataOriginLocationName;
00180 std::string mDataOriginVersion;
00181
00182 };
00183
00184
00185
00186
00187
00188 inline const TimeStamp
00189 Written::getTimeStamp() const throw() {
00190 return mTimeStamp;
00191 }
00192
00193
00194
00195
00196
00197
00198 inline const std::string
00199 Written::getAuthorName() const throw() {
00200 return mAuthorName;
00201 }
00202
00203
00204
00205
00206
00207
00208 inline const std::string
00209 Written::getProgramName() const throw() {
00210 return mProgramName;
00211 }
00212
00213
00214
00215
00216
00217
00218 inline const std::string
00219 Written::getProgramVersion() const throw() {
00220 return mProgramVersion;
00221 }
00222
00223
00224
00225
00226
00227
00228 inline const std::string
00229 Written::getDataOriginLocationName() const throw() {
00230 return mDataOriginLocationName;
00231 }
00232
00233
00234
00235
00236
00237
00238 inline const std::string
00239 Written::getDataOriginVersion() const throw() {
00240 return mDataOriginVersion;
00241 }
00242 }
00243
00244 }
00245 #endif // TORC_GENERIC_OM_WRITTEN_HPP