16 #ifndef HAZELCAST_CLIENT
17 #define HAZELCAST_CLIENT
21 #include "hazelcast/client/map/impl/ClientMapProxyFactory.h"
22 #include "hazelcast/client/internal/nearcache/NearCacheManager.h"
23 #include "hazelcast/client/proxy/RingbufferImpl.h"
24 #include "hazelcast/client/IMap.h"
25 #include "hazelcast/client/MultiMap.h"
26 #include "hazelcast/client/IQueue.h"
27 #include "hazelcast/client/ISet.h"
28 #include "hazelcast/client/IList.h"
29 #include "hazelcast/client/ITopic.h"
30 #include "hazelcast/client/TransactionOptions.h"
31 #include "hazelcast/client/TransactionContext.h"
32 #include "hazelcast/client/Cluster.h"
33 #include "hazelcast/client/ClientConfig.h"
34 #include "hazelcast/client/ClientProperties.h"
35 #include "hazelcast/client/spi/InvocationService.h"
36 #include "hazelcast/client/spi/PartitionService.h"
37 #include "hazelcast/client/spi/ServerListenerService.h"
38 #include "hazelcast/client/spi/LifecycleService.h"
39 #include "hazelcast/client/spi/ProxyManager.h"
40 #include "hazelcast/client/Ringbuffer.h"
41 #include "hazelcast/client/ReliableTopic.h"
43 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
45 #pragma warning(disable: 4251) //for dll export
408 namespace connection {
409 class ConnectionManager;
412 namespace serialization {
414 class SerializationService;
420 class InvocationService;
422 class ClusterService;
424 class PartitionService;
426 class LifecycleService;
428 class ServerListenerService;
430 class ClientProxyFactory;
440 class ICountDownLatch;
446 class TransactionContext;
448 class TransactionOptions;
460 friend class spi::ClientContext;
483 T t(name, &(clientContext));
497 template<
typename K,
typename V>
499 map::impl::ClientMapProxyFactory<K, V> factory(&clientContext);
500 boost::shared_ptr<spi::ClientProxy> proxy =
512 template<
typename K,
typename V>
514 return getDistributedObject<MultiMap<K, V> >(name);
525 return getDistributedObject<IQueue<E> >(name);
538 return getDistributedObject<ISet<E> >(name);
550 return getDistributedObject<IList<E> >(name);
561 return getDistributedObject<ITopic<E> >(name);
572 boost::shared_ptr<Ringbuffer<topic::impl::reliable::ReliableTopicMessage> > rb =
573 getRingbuffer<topic::impl::reliable::ReliableTopicMessage>(TOPIC_RB_PREFIX + name);
574 return boost::shared_ptr<ReliableTopic<E> >(
new ReliableTopic<E>(name, &clientContext, rb));
585 IdGenerator getIdGenerator(
const std::string& name);
594 IAtomicLong getIAtomicLong(
const std::string& name);
630 ILock getILock(
const std::string& name);
638 template <
typename E>
640 return boost::shared_ptr<Ringbuffer<E> >(
new proxy::RingbufferImpl<E>(name, &clientContext));
650 ISemaphore getISemaphore(
const std::string& name);
708 serialization::pimpl::SerializationService &getSerializationService();
710 boost::shared_ptr<spi::ClientProxy> getDistributedObjectForService(
const std::string &serviceName,
711 const std::string &name,
712 spi::ClientProxyFactory &factory);
716 util::CountDownLatch shutdownLatch;
717 spi::ClientContext clientContext;
718 spi::LifecycleService lifecycleService;
719 serialization::pimpl::SerializationService serializationService;
720 std::auto_ptr<connection::ConnectionManager> connectionManager;
722 spi::ClusterService clusterService;
723 spi::PartitionService partitionService;
724 spi::InvocationService invocationService;
725 spi::ServerListenerService serverListenerService;
727 spi::ProxyManager proxyManager;
733 const std::string TOPIC_RB_PREFIX;
739 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
Contains the configuration for a Hazelcast transaction.
Definition: TransactionOptions.h:67
Concurrent, blocking, distributed, observable, client queue.
Definition: IQueue.h:38
ITopic< E > getTopic(const std::string &name)
Returns the distributed topic instance with the specified name and entry type E.
Definition: HazelcastClient.h:560
Cluster-wide unique id generator.
Definition: IdGenerator.h:42
IQueue< E > getQueue(const std::string &name)
Returns the distributed queue instance with the specified name and entry type E.
Definition: HazelcastClient.h:524
IAtomicLong is a distributed atomic long implementation.
Definition: IAtomicLong.h:38
ICountDownLatch is a backed-up distributed alternative to the java.util.concurrent.CountDownLatch java.util.concurrent.CountDownLatch.
Definition: ICountDownLatch.h:62
MultiMap< K, V > getMultiMap(const std::string &name)
Returns the distributed multimap instance with the specified name.
Definition: HazelcastClient.h:513
boost::shared_ptr< ReliableTopic< E > > getReliableTopic(const std::string &name)
Returns the distributed topic instance with the specified name and entry type E.
Definition: HazelcastClient.h:571
IList< E > getList(const std::string &name)
Returns the distributed list instance with the specified name.
Definition: HazelcastClient.h:549
A specialized distributed map client whose keys can be associated with multiple values.
Definition: MultiMap.h:41
Re-entrant Lock, Distributed client implementation of Lock.
Definition: ILock.h:40
Client Properties is an internal class.
Definition: ClientProperties.h:71
Concurrent, distributed , client implementation of std::list.
Definition: IList.h:42
Concurrent, distributed client implementation of std::unordered_set.
Definition: ISet.h:36
Hazelcast provides distribution mechanism for publishing messages that are delivered to multiple subs...
Definition: ITopic.h:41
Hazelcast provides distribution mechanism for publishing messages that are delivered to multiple subs...
Definition: ReliableTopic.h:45
boost::shared_ptr< Ringbuffer< E > > getRingbuffer(const std::string &name)
Returns the distributed Ringbuffer instance with the specified name.
Definition: HazelcastClient.h:639
Hazelcast cluster interface.
Definition: Cluster.h:38
NearCacheManager is the contract point to manage all existing NearCache instances.
Definition: NearCacheManager.h:40
ISet< E > getSet(const std::string &name)
Returns the distributed set instance with the specified name and entry type E.
Definition: HazelcastClient.h:537
Listener object for listening lifecycle events of hazelcast instance.
Definition: LifecycleListener.h:44
IMap< K, V > getMap(const std::string &name)
Definition: HazelcastClient.h:498
Concurrent, distributed, observable and queryable map client.
Definition: IMap.h:66
ISemaphore is a backed-up distributed alternative to the java.util.concurrent.Semaphore.
Definition: ISemaphore.h:56
HazelcastClient configuration class.
Definition: ClientConfig.h:52
Hazelcast Client enables you to do all Hazelcast operations without being a member of the cluster...
Definition: HazelcastClient.h:459
Provides a context to do transactional operations; so beginning/committing transactions, but also retrieving transactional data-structures like the TransactionalMap.
Definition: TransactionContext.h:52
T getDistributedObject(const std::string &name)
Definition: HazelcastClient.h:482