00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef ObjectStatStrategy_h
00021 #define ObjectStatStrategy_h
00022
00023 #include <y2pm/PMSelectable.h>
00024
00025
00026
00027
00028 class ObjectStatStrategy
00029 {
00030
00031 public:
00032
00033 ObjectStatStrategy( );
00034
00035 virtual ~ObjectStatStrategy() = 0;
00036
00043 virtual PMSelectable::UI_Status getPackageStatus ( PMObjectPtr objPtr );
00044
00051 virtual bool setObjectStatus ( PMSelectable::UI_Status newstatus,
00052 PMObjectPtr objPtr
00053 );
00062 virtual bool keyToStatus( const int & key,
00063 PMObjectPtr objPtr,
00064 PMSelectable::UI_Status & newStat );
00065
00071 virtual bool toggleStatus( PMObjectPtr objPtr,
00072 PMSelectable::UI_Status & newStat );
00073 };
00074
00075
00076
00077
00078 class PackageStatStrategy : public ObjectStatStrategy
00079 {
00080 public:
00081
00082 PackageStatStrategy( );
00083
00084 virtual ~PackageStatStrategy() {}
00085
00086 };
00087
00088
00089
00090
00091 class DependencyStatStrategy : public ObjectStatStrategy
00092 {
00093 public:
00094
00095 DependencyStatStrategy( );
00096
00097 virtual ~DependencyStatStrategy() {}
00098
00099 };
00100
00101
00102
00103
00104 class UpdateStatStrategy : public ObjectStatStrategy
00105 {
00106 public:
00107
00108 UpdateStatStrategy( );
00109
00110 virtual ~UpdateStatStrategy() {}
00111
00112 };
00113
00114
00115
00116
00117 class PatchPkgStatStrategy : public ObjectStatStrategy
00118 {
00119 public:
00120
00121 PatchPkgStatStrategy( );
00122
00123 virtual ~PatchPkgStatStrategy() {}
00124
00129 virtual bool setObjectStatus( PMSelectable::UI_Status newstatus, PMObjectPtr objPtr );
00130
00131 };
00132
00133
00134
00135
00136
00137 class PatchStatStrategy : public ObjectStatStrategy
00138 {
00139 public:
00140
00141 PatchStatStrategy( );
00142
00143 virtual ~PatchStatStrategy() {}
00144
00153 virtual bool keyToStatus( const int & key,
00154 PMObjectPtr objPtr,
00155 PMSelectable::UI_Status & newStat );
00156
00162 virtual bool toggleStatus( PMObjectPtr objPtr,
00163 PMSelectable::UI_Status & newStat );
00164
00171 virtual bool setObjectStatus( PMSelectable::UI_Status newstatus, PMObjectPtr objPtr );
00172 };
00173
00174
00175
00176
00177
00178 class AvailableStatStrategy : public ObjectStatStrategy
00179 {
00180 public:
00181
00182 AvailableStatStrategy( );
00183
00184 virtual ~AvailableStatStrategy() {}
00185
00193 virtual PMSelectable::UI_Status getPackageStatus ( PMObjectPtr objPtr );
00194
00202 virtual bool setObjectStatus( PMSelectable::UI_Status newstatus,
00203 PMObjectPtr objPtr );
00204 };
00205
00206 #endif
00207