Safir SDK Core
Loading...
Searching...
No Matches
ConnectionAspectInjector.h
Go to the documentation of this file.
1/******************************************************************************
2*
3* Copyright Saab AB, 2007-2013 (http://safirsdkcore.com)
4*
5* Created by: Anders Widén / stawi
6*
7*******************************************************************************
8*
9* This file is part of Safir SDK Core.
10*
11* Safir SDK Core is free software: you can redistribute it and/or modify
12* it under the terms of version 3 of the GNU General Public License as
13* published by the Free Software Foundation.
14*
15* Safir SDK Core is distributed in the hope that it will be useful,
16* but WITHOUT ANY WARRANTY; without even the implied warranty of
17* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18* GNU General Public License for more details.
19*
20* You should have received a copy of the GNU General Public License
21* along with Safir SDK Core. If not, see <http://www.gnu.org/licenses/>.
22*
23******************************************************************************/
24
25#ifndef _SAFIR_DOB_CONNECTION_ASPECT_INJECTOR_H
26#define _SAFIR_DOB_CONNECTION_ASPECT_INJECTOR_H
27
32
33#include <string>
34
35namespace Safir
36{
37namespace Dob
38{
44 {
45 public:
52
67 void InjectChanges(const Dob::EntityPtr& entity,
68 const Dob::Typesystem::InstanceId& instanceId,
69 const Dob::Typesystem::Int64 timestamp,
70 const Dob::Typesystem::HandlerId& handlerId) const;
71
85 const Dob::Typesystem::Int64 timestamp,
86 const Dob::Typesystem::HandlerId& handlerId) const;
87
88
98 void InitialSet(const Dob::EntityPtr& entity,
99 const Dob::Typesystem::InstanceId& instanceId,
100 const Dob::Typesystem::HandlerId& handlerId) const;
101
132 const bool includeUpdates,
133 const bool includeSubclasses,
134 const bool restartSubscription,
135 const bool wantsGhostDelete,
136 const bool wantsLastState,
137 const bool doesntWantSourceIsPermanentStore,
138 const bool wantsAllStateChanges,
139 const bool timestampChangeInfo,
140 Dob::EntitySubscriber* const entitySubscriber) const;
141 };
142
143}
144}
145
146#endif
#define DOSE_CPP_API
Definition DoseCppExportDefs.h:33
This namespace contains all the functionality and definitions of the SAFIR SDK.
Definition Backdoor.h:31
std::shared_ptr< Entity > EntityPtr
Definition Entity.h:34
DotsC_Int64 Int64
64 bit integer type.
Definition Defs.h:69
DotsC_TypeId TypeId
A unique type identifier.
Definition Defs.h:218
Base class for all aspects.
Definition ConnectionAspectBase.h:38
Class that provides methods for special applications that injects entities into the system apart from...
Definition ConnectionAspectInjector.h:44
void SubscribeEntity(const Dob::Typesystem::TypeId typeId, const bool includeUpdates, const bool includeSubclasses, const bool restartSubscription, const bool wantsGhostDelete, const bool wantsLastState, const bool doesntWantSourceIsPermanentStore, const bool wantsAllStateChanges, const bool timestampChangeInfo, Dob::EntitySubscriber *const entitySubscriber) const
Special entity subscription.
void InjectChanges(const Dob::EntityPtr &entity, const Dob::Typesystem::InstanceId &instanceId, const Dob::Typesystem::Int64 timestamp, const Dob::Typesystem::HandlerId &handlerId) const
Merge the changed members based on the timestamps.
ConnectionAspectInjector(const ConnectionBase &connection)
Constructor.
Definition ConnectionAspectInjector.h:51
void InjectDelete(const Dob::Typesystem::EntityId &entityId, const Dob::Typesystem::Int64 timestamp, const Dob::Typesystem::HandlerId &handlerId) const
Delete the given instance based on the timestamp.
void InitialSet(const Dob::EntityPtr &entity, const Dob::Typesystem::InstanceId &instanceId, const Dob::Typesystem::HandlerId &handlerId) const
Allows an application to inject an initial entity state.
Common base class for connections to the DOB.
Definition ConnectionBase.h:59
Interface to be implemented by subscribers of entities.
Definition Consumer.h:352
Class containing the identity of an entity.
Definition EntityId.h:43
Class containing the identity of a handler.
Definition HandlerId.h:46
Class containing the identity of an instance.
Definition InstanceId.h:49