00001 #ifndef __GEMFIRE_RESULTCOLLECTOR_H__ 00002 #define __GEMFIRE_RESULTCOLLECTOR_H__ 00003 /*========================================================================= 00004 * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved. 00005 * This product is protected by U.S. and international copyright 00006 * and intellectual property laws. Pivotal products are covered by 00007 * more patents listed at http://www.pivotal.io/patents. 00008 *======================================================================== 00009 */ 00010 00011 #include "gfcpp_globals.hpp" 00012 #include "gf_types.hpp" 00013 #include "SharedPtr.hpp" 00014 #include "VectorT.hpp" 00015 #include "CacheableBuiltins.hpp" 00016 00021 namespace gemfire { 00046 class CPPCACHE_EXPORT ResultCollector 00047 : public SharedBase 00048 { 00052 public: 00053 ResultCollector(); 00054 virtual ~ResultCollector(); 00064 virtual CacheableVectorPtr getResult(uint32_t timeout = DEFAULT_QUERY_RESPONSE_TIMEOUT); 00071 virtual void addResult(CacheablePtr& resultOfSingleExecution); 00076 virtual void endResults(); 00083 virtual void clearResults(); 00084 00085 private: 00086 CacheableVectorPtr m_resultList; 00087 volatile bool m_isResultReady; 00088 }; 00089 00090 } //namespace gemfire 00091 #endif //ifndef __GEMFIRE_RESULTCOLLECTOR_H__