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 _FILTERGW_H_
00031 #define _FILTERGW_H_
00032
00033
00034
00035
00036
00037
00038 #include "filter.h"
00039
00040
00041
00042 namespace OSB_DB {
00043 class Session;
00044 }
00045
00046
00047
00048 namespace OSB_DB {
00049
00050
00051
00052
00057 struct FilterGw {
00058
00063 friend class OSB_LIB::Filter;
00064
00078 bool fetch(const Session& session,OSB_LIB::Filter& filt);
00079
00089 long fetch(const Session& session,OSB_LIB::Filters& filts);
00090
00091 private:
00092
00112 bool insFc(const Session& session,OSB_LIB::Filter& filt);
00113
00132 bool updFc(const Session& session,OSB_LIB::Filter& filt);
00133
00149 bool removeFc(const Session& session,OSB_LIB::Filter& filt);
00150
00159 OSB_LIB::ObjectStatus checkObjVs(
00160 const Session& session,
00161 const OSB_LIB::Filter& filt
00162 );
00163 };
00164
00170 struct FilterVersionGw {
00171
00172 friend class OSB_LIB::FilterVersion;
00173
00188 bool fetch(
00189 const Session& session,
00190 OSB_LIB::FilterVersion& fv
00191 );
00192
00204 long fetch(
00205 const Session& session,
00206 OSB_LIB::FilterVersions& fvs
00207 );
00208
00209 private:
00210
00226 bool insFv(
00227 const Session& session,
00228 OSB_LIB::FilterVersion& fv
00229 );
00230
00248 bool updFv(
00249 const Session& session,
00250 OSB_LIB::FilterVersion& fv
00251 );
00252
00268 bool removeFv(
00269 const Session& session,
00270 OSB_LIB::FilterVersion& fv
00271 );
00272
00281 OSB_LIB::ObjectStatus checkObjVs(
00282 const Session& session,
00283 const OSB_LIB::FilterVersion& fv
00284 );
00285
00294 OSB_LIB::CfgStatus getStatus(
00295 const Session& session,
00296 const OSB_LIB::FilterVersion::Oid& oid
00297 );
00298
00310 void setStatus(
00311 const Session& session,
00312 const OSB_LIB::FilterVersion::Oid& oid,
00313 const OSB_LIB::CfgStatus& status
00314 );
00315
00330 bool isReleasedInFuture(
00331 const Session& session,
00332 const OSB_LIB::FilterVersion::Oid& oid
00333 );
00334 };
00335
00341 struct FilterExprGw {
00342
00348 friend class OSB_LIB::FilterExpr;
00349
00364 bool fetch(const Session& session,OSB_LIB::FilterExpr& fe);
00365
00376 long fetch(const Session& session,OSB_LIB::FilterExprs& fes);
00377
00378 private:
00379
00394 bool insFe(const Session& session,OSB_LIB::FilterExpr& fe);
00408 bool updFe(const Session& session,OSB_LIB::FilterExpr& fe);
00409
00425 bool removeFe(
00426 const Session& session,
00427 OSB_LIB::FilterExpr& fe
00428 );
00429
00438 OSB_LIB::ObjectStatus checkObjVs(
00439 const Session& session,
00440 const OSB_LIB::FilterExpr& fv
00441 );
00442
00451 OSB_LIB::CfgStatus getStatus(
00452 const Session& session,
00453 const OSB_LIB::FilterExpr::Oid& oid
00454 );
00455
00467 void setStatus(
00468 const Session& session,
00469 const OSB_LIB::FilterExpr::Oid& oid,
00470 const OSB_LIB::CfgStatus& status
00471 );
00472
00486 bool isReleasedInFuture(
00487 const Session& session,
00488 const OSB_LIB::FilterExpr::Oid& oid
00489 );
00490 };
00491
00497 struct FilterCondGw {
00498
00504 friend class OSB_LIB::FilterCond;
00505
00520 bool fetch(
00521 const Session& session,
00522 OSB_LIB::FilterCond& fc
00523 );
00524
00535 long fetch(
00536 const Session& session,
00537 OSB_LIB::FilterConds& fcs
00538 );
00539
00540 private:
00541
00556 bool insFc(
00557 const Session& session,
00558 OSB_LIB::FilterCond& fc
00559 );
00560
00574 bool updFc(
00575 const Session& session,
00576 OSB_LIB::FilterCond& fc
00577 );
00578
00594 bool removeFc(
00595 const Session& session,
00596 OSB_LIB::FilterCond& fc
00597 );
00606 OSB_LIB::ObjectStatus checkObjVs(
00607 const Session& session,
00608 const OSB_LIB::FilterCond& fv
00609 );
00610
00619 OSB_LIB::CfgStatus getStatus(
00620 const Session& session,
00621 const OSB_LIB::FilterCond::Oid& oid
00622 );
00623
00635 void setStatus(
00636 const Session& session,
00637 const OSB_LIB::FilterCond::Oid& oid,
00638 const OSB_LIB::CfgStatus& status
00639 );
00640
00654 bool isReleasedInFuture(
00655 const Session& session,
00656 const OSB_LIB::FilterCond::Oid& oid
00657 );
00658 };
00659
00664 struct ScFilterGw {
00665
00671 friend class OSB_LIB::ScFilter;
00672
00689 bool fetch(
00690 const Session& session,
00691 OSB_LIB::ScFilter& scfc
00692 );
00693
00694 private:
00695
00711 bool insScCond(
00712 const Session& session,
00713 OSB_LIB::ScFilter& scfc
00714 );
00715
00731 bool updScCond(
00732 const Session& session,
00733 OSB_LIB::ScFilter& scfc
00734 );
00735
00754 bool removeScCond(
00755 const Session& session,
00756 OSB_LIB::ScFilter& scfc
00757 );
00758 };
00759
00764 struct TcFilterGw {
00765
00771 friend class OSB_LIB::TcFilter;
00772
00789 bool fetch(
00790 const Session& session,
00791 OSB_LIB::TcFilter& tcfc
00792 );
00793
00794 private:
00795
00811 bool insTcCond(
00812 const Session& session,
00813 OSB_LIB::TcFilter& tcfc
00814 );
00815
00831 bool updTcCond(
00832 const Session& session,
00833 OSB_LIB::TcFilter& tcfc
00834 );
00835
00853 bool removeTcCond(
00854 const Session& session,
00855 OSB_LIB::TcFilter& tcfc
00856 );
00857 };
00858
00859
00860
00861 }
00862 #endif // #ifndef _FILTERGW_H_