00001 
00002 
00003 
00004 
00005 
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 
00031 
00036 #ifndef OW_CPP_INDICATIONPROVIDERIFC_HPP_
00037 #define OW_CPP_INDICATIONPROVIDERIFC_HPP_
00038 #include "OW_config.h"
00039 #include "OW_CppProviderBaseIFC.hpp"
00040 #include "OW_SharedLibraryReference.hpp"
00041 #include "OW_IndicationProviderInfo.hpp"
00042 
00043 namespace OW_NAMESPACE
00044 {
00045 
00046 class WQLSelectStatement;
00050 class OW_CPPPROVIFC_API CppIndicationProviderIFC: public virtual CppProviderBaseIFC
00051 {
00052 public:
00053    virtual ~CppIndicationProviderIFC();
00054 
00073    virtual void getIndicationProviderInfoWithEnv(
00074       const ProviderRegistrationEnvironmentIFCRef& env,
00075       IndicationProviderInfo& info);
00076 
00095    virtual void getIndicationProviderInfo(IndicationProviderInfo& info);
00096    
00097    virtual void activateFilter(
00098       const ProviderEnvironmentIFCRef& env,
00099       const WQLSelectStatement& filter, 
00100       const String& eventType, 
00101       const String& nameSpace,
00102       const StringArray& classes, 
00103       bool firstActivation
00104       );
00105    virtual void authorizeFilter(
00106       const ProviderEnvironmentIFCRef& env,
00107       const WQLSelectStatement& filter, 
00108       const String& eventType, 
00109       const String& nameSpace,
00110       const StringArray& classes, 
00111       const String& owner
00112       );
00113    virtual void deActivateFilter(
00114       const ProviderEnvironmentIFCRef& env,
00115       const WQLSelectStatement& filter, 
00116       const String& eventType, 
00117       const String& nameSpace,
00118       const StringArray& classes, 
00119       bool lastActivation
00120       );
00142    virtual int mustPoll(
00143       const ProviderEnvironmentIFCRef& env,
00144       const WQLSelectStatement& filter, 
00145       const String& eventType, 
00146       const String& nameSpace,
00147       const StringArray& classes
00148       );
00149    virtual CppIndicationProviderIFC* getIndicationProvider();
00150 };
00151 typedef SharedLibraryReference< IntrusiveReference<CppIndicationProviderIFC> > CppIndicationProviderIFCRef;
00152 
00153 } 
00154 
00155 #endif
00156