00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef _CGIGW_H_
00031 #define _CGIGW_H_
00032
00033
00034
00035
00036
00037
00038 #include "cgi.h"
00039
00040
00041
00042 namespace OSB_DB {
00043 class Session;
00044 }
00045
00046
00047
00048 namespace OSB_DB {
00049
00050
00051
00052
00053
00054
00058 struct CgiGw {
00060 friend class OSB_LIB::Cgi;
00061
00072 long fetch(
00073 const Session& session,
00074 OSB_LIB::Cgis& cgis
00075 );
00076
00088 bool fetch(
00089 const Session& session,
00090 OSB_LIB::Cgi& cgi
00091 );
00092
00093 private:
00110 bool insCgi(
00111 const Session& session,
00112 OSB_LIB::Cgi& cgi
00113 );
00114
00133 bool delCgi(
00134 const Session& session,
00135 OSB_LIB::Cgi& cgi
00136 );
00137
00158 bool updCgi(
00159 const Session& session,
00160 OSB_LIB::Cgi& cgi
00161 );
00162
00176 OSB_LIB::ObjectStatus checkObjVs(
00177 const Session& session,
00178 const OSB_LIB::Cgi& cgi
00179 );
00180
00195 OSB_LIB::CfgStatus getStatus(
00196 const Session& session,
00197 const OSB_LIB::Cgi::Oid& oid
00198 );
00199
00215 void setStatus(
00216 const Session& session,
00217 const OSB_LIB::Cgi::Oid& oid,
00218 const OSB_LIB::CfgStatus& status
00219 );
00220
00234 bool bothDateInFuture(
00235 const Session& session,
00236 const OSB_LIB::Cgi::Oid& oid
00237 );
00238
00254 bool hasReleasedCp(
00255 const Session& session,
00256 const OSB_LIB::Cgi::Oid& oid
00257 );
00258
00270 bool noDateConflict(
00271 const Session& session,
00272 const OSB_LIB::Cgi::Oid& oid
00273 );
00274
00286 bool gracePeriodExpired(
00287 const Session& session,
00288 const OSB_LIB::Cgi::Oid& oid
00289 );
00290
00303 bool hasOverlapCgi(
00304 const Session& session,
00305 const OSB_LIB::Cgi::Oid& oid
00306 );
00307 };
00308
00309
00310
00311
00312 }
00313 #endif // #ifndef _CGIGW_H_