Hazelcast C++ Client
Hazelcast C++ Client Library
Loading...
Searching...
No Matches
item_event.h
1/*
2 * Copyright (c) 2008-2025, Hazelcast, Inc. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16#pragma once
17
18#include "hazelcast/client/member.h"
19
20#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
21#pragma warning(push)
22#pragma warning(disable : 4251) // for dll export
23#endif
24
25namespace hazelcast {
26namespace client {
30enum struct HAZELCAST_API item_event_type
31{
32 ADDED = 1,
33 REMOVED = 2
34};
35
36class HAZELCAST_API item_event_base
37{
38public:
39 item_event_base(const std::string& name,
40 const member& member,
41 const item_event_type& event_type);
42
43 virtual ~item_event_base();
44
50 const member& get_member() const;
51
57 item_event_type get_event_type() const;
58
64 const std::string& get_name() const;
65
66private:
67 std::string name_;
68 member member_;
69 item_event_type event_type_;
70};
71
78class HAZELCAST_API item_event : public item_event_base
79{
80public:
81 item_event(const std::string& name,
82 item_event_type event_type,
83 typed_data&& item,
84 const member& member)
85 : item_event_base(name, member, event_type)
86 , item_(item)
87 {}
88
92 const typed_data& get_item() const { return item_; }
93
94private:
95 typed_data item_;
96};
97} // namespace client
98} // namespace hazelcast
99
100#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
101#pragma warning(pop)
102#endif
item_event_type get_event_type() const
Return the event type.
Definition proxy.cpp:2708
const member & get_member() const
Returns the member fired this event.
Definition proxy.cpp:2702
const std::string & get_name() const
Returns the name of the collection for this event.
Definition proxy.cpp:2714
const typed_data & get_item() const
Definition item_event.h:92
hz_cluster member class.
Definition member.h:62
typed_data class is a wrapper class for the serialized binary data.