00001 #ifndef __GEMFIRE_EXECUTION_H__
00002 #define __GEMFIRE_EXECUTION_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "gfcpp_globals.hpp"
00017 #include "gf_types.hpp"
00018 #include "VectorT.hpp"
00019 #include "SharedPtr.hpp"
00020 #include "CacheableBuiltins.hpp"
00021 #include "ResultCollector.hpp"
00022
00027 namespace gemfire {
00034 class CPPCACHE_EXPORT Execution : public SharedBase
00035 {
00036 public:
00049 virtual ExecutionPtr withFilter(CacheableVectorPtr routingObj) = 0;
00057 virtual ExecutionPtr withArgs(CacheablePtr args) = 0;
00065 virtual ExecutionPtr withCollector(ResultCollectorPtr rs) = 0;
00078 virtual ResultCollectorPtr execute(const char* func, bool hasResult=true, uint32_t timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT, bool isHA = true, bool optimizeForWrite= false) = 0;
00079
00095 virtual ResultCollectorPtr execute(CacheableVectorPtr& routingObj, CacheablePtr& args, ResultCollectorPtr& rs,
00096 const char* func, bool hasResult, uint32_t timeout, bool isHA , bool optimizeForWrite) = 0;
00097 };
00098 }
00099 #endif //__GEMFIRE_EXECUTION_H__