Safir SDK Core
Loading...
Searching...
No Matches
Properties.h
Go to the documentation of this file.
1/******************************************************************************
2*
3* Copyright Saab AB, 2006-2013 (http://safirsdkcore.com)
4*
5* Created by: Lars Hagström / stlrha
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 __DOTS_PROPERTIES_H__
26#define __DOTS_PROPERTIES_H__
27
35
36namespace Safir
37{
38namespace Dob
39{
40namespace Typesystem
41{
50 {
51 public:
52
63 const Dob::Typesystem::TypeId propertyId,
64 const Dob::Typesystem::MemberIndex propertyMember);
65
76 const Dob::Typesystem::TypeId propertyId,
77 const Dob::Typesystem::MemberIndex propertyMember);
78
79
90 const Dob::Typesystem::TypeId propertyId,
92 const Dob::Typesystem::ArrayIndex index);
93
103 static bool IsNull(const Dob::Typesystem::ObjectPtr object,
104 const Dob::Typesystem::TypeId propertyId,
105 const Dob::Typesystem::MemberIndex member,
106 const Dob::Typesystem::ArrayIndex index);
107
117 static bool IsChanged(const Dob::Typesystem::ObjectPtr object,
118 const Dob::Typesystem::TypeId propertyId,
119 const Dob::Typesystem::MemberIndex member,
120 const Dob::Typesystem::ArrayIndex index);
121
139 static bool IsReadOnly(const Dob::Typesystem::ObjectPtr object,
140 const Dob::Typesystem::TypeId propertyId,
141 const Dob::Typesystem::MemberIndex member,
142 const Dob::Typesystem::ArrayIndex index);
143
154 static void Set(Dob::Typesystem::ObjectPtr object,
155 const Dob::Typesystem::TypeId propertyId,
156 const bool value,
157 const Dob::Typesystem::MemberIndex member,
158 const Dob::Typesystem::ArrayIndex index);
159
160
172 static void Get(const Dob::Typesystem::ObjectPtr object,
173 const Dob::Typesystem::TypeId propertyId,
174 bool & value,
175 const Dob::Typesystem::MemberIndex member,
176 const Dob::Typesystem::ArrayIndex index);
177
178
179
191 const Dob::Typesystem::TypeId propertyId,
193 const Dob::Typesystem::MemberIndex member,
194 const Dob::Typesystem::ArrayIndex index);
195
207 static void GetEnum(const Dob::Typesystem::ObjectPtr object,
208 const Dob::Typesystem::TypeId propertyId,
210 const Dob::Typesystem::MemberIndex member,
211 const Dob::Typesystem::ArrayIndex index);
212
223 static void Set(Dob::Typesystem::ObjectPtr object,
224 const Dob::Typesystem::TypeId propertyId,
225 const Dob::Typesystem::Int32 value,
226 const Dob::Typesystem::MemberIndex member,
227 const Dob::Typesystem::ArrayIndex index);
228
229
241 static void Get(const Dob::Typesystem::ObjectPtr object,
242 const Dob::Typesystem::TypeId propertyId,
244 const Dob::Typesystem::MemberIndex member,
245 const Dob::Typesystem::ArrayIndex index);
246
257 static void Set(Dob::Typesystem::ObjectPtr object,
258 const Dob::Typesystem::TypeId propertyId,
259 const Dob::Typesystem::Int64 value,
260 const Dob::Typesystem::MemberIndex member,
261 const Dob::Typesystem::ArrayIndex index);
262
263
275 static void Get(const Dob::Typesystem::ObjectPtr object,
276 const Dob::Typesystem::TypeId propertyId,
278 const Dob::Typesystem::MemberIndex member,
279 const Dob::Typesystem::ArrayIndex index);
280
291 static void Set(Dob::Typesystem::ObjectPtr object,
292 const Dob::Typesystem::TypeId propertyId,
293 const Dob::Typesystem::Float32 value,
294 const Dob::Typesystem::MemberIndex member,
295 const Dob::Typesystem::ArrayIndex index);
296
297
309 static void Get(const Dob::Typesystem::ObjectPtr object,
310 const Dob::Typesystem::TypeId propertyId,
312 const Dob::Typesystem::MemberIndex member,
313 const Dob::Typesystem::ArrayIndex index);
314
325 static void Set(Dob::Typesystem::ObjectPtr object,
326 const Dob::Typesystem::TypeId propertyId,
327 const Dob::Typesystem::Float64 value,
328 const Dob::Typesystem::MemberIndex member,
329 const Dob::Typesystem::ArrayIndex index);
330
331
343 static void Get(const Dob::Typesystem::ObjectPtr object,
344 const Dob::Typesystem::TypeId propertyId,
346 const Dob::Typesystem::MemberIndex member,
347 const Dob::Typesystem::ArrayIndex index);
348
359 static void Set(Dob::Typesystem::ObjectPtr object,
360 const Dob::Typesystem::TypeId propertyId,
361 const InstanceId & value,
362 const Dob::Typesystem::MemberIndex member,
363 const Dob::Typesystem::ArrayIndex index);
364
365
377 static void Get(const Dob::Typesystem::ObjectPtr object,
378 const Dob::Typesystem::TypeId propertyId,
379 InstanceId & value,
380 const Dob::Typesystem::MemberIndex member,
381 const Dob::Typesystem::ArrayIndex index);
382
393 static void Set(Dob::Typesystem::ObjectPtr object,
394 const Dob::Typesystem::TypeId propertyId,
395 const Dob::Typesystem::EntityId & value,
396 const Dob::Typesystem::MemberIndex member,
397 const Dob::Typesystem::ArrayIndex index);
398
399
411 static void Get(const Dob::Typesystem::ObjectPtr object,
412 const Dob::Typesystem::TypeId propertyId,
414 const Dob::Typesystem::MemberIndex member,
415 const Dob::Typesystem::ArrayIndex index);
416
427 static void Set(Dob::Typesystem::ObjectPtr object,
428 const Dob::Typesystem::TypeId propertyId,
429 const ChannelId & value,
430 const Dob::Typesystem::MemberIndex member,
431 const Dob::Typesystem::ArrayIndex index);
432
433
445 static void Get(const Dob::Typesystem::ObjectPtr object,
446 const Dob::Typesystem::TypeId propertyId,
447 ChannelId & value,
448 const Dob::Typesystem::MemberIndex member,
449 const Dob::Typesystem::ArrayIndex index);
450
461 static void Set(Dob::Typesystem::ObjectPtr object,
462 const Dob::Typesystem::TypeId propertyId,
463 const HandlerId & value,
464 const Dob::Typesystem::MemberIndex member,
465 const Dob::Typesystem::ArrayIndex index);
466
467
479 static void Get(const Dob::Typesystem::ObjectPtr object,
480 const Dob::Typesystem::TypeId propertyId,
481 HandlerId & value,
482 const Dob::Typesystem::MemberIndex member,
483 const Dob::Typesystem::ArrayIndex index);
484
495 static void Set(Dob::Typesystem::ObjectPtr object,
496 const Dob::Typesystem::TypeId propertyId,
497 const std::wstring & value,
498 const Dob::Typesystem::MemberIndex member,
499 const Dob::Typesystem::ArrayIndex index);
500
501
513 static void Get(const Dob::Typesystem::ObjectPtr object,
514 const Dob::Typesystem::TypeId propertyId,
515 std::wstring & value,
516 const Dob::Typesystem::MemberIndex member,
517 const Dob::Typesystem::ArrayIndex index);
518
529 static void Set(Dob::Typesystem::ObjectPtr object,
530 const Dob::Typesystem::TypeId propertyId,
532 const Dob::Typesystem::MemberIndex member,
533 const Dob::Typesystem::ArrayIndex index);
534
535
547 static void Get(const Dob::Typesystem::ObjectPtr object,
548 const Dob::Typesystem::TypeId propertyId,
550 const Dob::Typesystem::MemberIndex member,
551 const Dob::Typesystem::ArrayIndex index);
552
563 static void Set(Dob::Typesystem::ObjectPtr object,
564 const Dob::Typesystem::TypeId propertyId,
565 const Dob::Typesystem::Binary & value,
566 const Dob::Typesystem::MemberIndex member,
567 const Dob::Typesystem::ArrayIndex index);
568
569
581 static void Get(const Dob::Typesystem::ObjectPtr object,
582 const Dob::Typesystem::TypeId propertyId,
584 const Dob::Typesystem::MemberIndex member,
585 const Dob::Typesystem::ArrayIndex index);
586
587
602 const Dob::Typesystem::TypeId propertyId,
603 const Dob::Typesystem::MemberIndex propertyMember,
604 const Dob::Typesystem::ArrayIndex propertyIndex,
605 Dob::Typesystem::TypeId& parameterTypeId,
606 Dob::Typesystem::ParameterIndex& parameterIndex,
607 Dob::Typesystem::ArrayIndex& parameterArrayIndex);
608
609 private:
610 static void DereferenceClassMemberReference(Dob::Typesystem::Object & object,
611 DotsC_Int32 const * const classmemberref,
612 const DotsC_Int32 refSize,
613 const Dob::Typesystem::ArrayIndex index,
614 Dob::Typesystem::ContainerBase * & container, //out
615 bool & parentIsChanged); //out
616
617
618 static void DereferenceClassMemberReference(const Dob::Typesystem::Object & object,
619 DotsC_Int32 const * const classmemberref,
620 const DotsC_Int32 refSize,
621 const Dob::Typesystem::ArrayIndex index,
622 Dob::Typesystem::ContainerBase const * & container, //out
623 bool & parentIsChanged); //out
624
625 };
626}
627}
628}
629
630#endif
631
This namespace contains all the functionality and definitions of the SAFIR SDK.
Definition Backdoor.h:31
DotsC_EnumerationValue EnumerationValue
The ordinal value of an enumeration.
Definition Defs.h:270
DotsC_Float32 Float32
32 bit floating point type.
Definition Defs.h:72
DotsC_PropertyMappingKind PropertyMappingKind
An enumeration of the possible ways a property value can be defined.
Definition Defs.h:285
std::vector< char > Binary
A type to contain binary data.
Definition Defs.h:306
DotsC_Int32 Int32
32 bit integer type.
Definition Defs.h:66
DotsC_Int64 Int64
64 bit integer type.
Definition Defs.h:69
DotsC_ParameterIndex ParameterIndex
The index of a parameter in an object.
Definition Defs.h:256
DotsC_Float64 Float64
64 bit floating point type.
Definition Defs.h:75
std::shared_ptr< Object > ObjectPtr
A smart pointer to an Object.
Definition Object.h:44
DotsC_ArrayIndex ArrayIndex
Index into an array.
Definition Defs.h:246
DotsC_TypeId TypeId
A unique type identifier.
Definition Defs.h:218
DotsC_MemberIndex MemberIndex
The index of a member in an object.
Definition Defs.h:237
Class containing the identity of a channel.
Definition ChannelId.h:46
Base class for all Containers.
Definition ContainerBase.h:44
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
The base class for all DOB objects.
Definition Object.h:55
Functions for getting property information from types and objects.
Definition Properties.h:50
static void Get(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, InstanceId &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Get an InstanceId property member from the object using a property.
static void Set(Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const bool value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Set a boolean property member in the object using a property.
static void Set(Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const InstanceId &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Set an InstanceId property member in the object using a property.
static Dob::Typesystem::Int32 GetArraySize(const Dob::Typesystem::TypeId classId, const Dob::Typesystem::TypeId propertyId, const Dob::Typesystem::MemberIndex propertyMember)
Get the array size of a property member.
static void Set(Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const Dob::Typesystem::Float32 value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Set a Float32 property member in the object using a property.
static void GetEnum(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, Dob::Typesystem::EnumerationValue &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Get an enumeration property member from the object using a property.
static void Set(Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const ChannelId &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Set a ChannelId property member in the object using a property.
static void Get(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, Dob::Typesystem::EntityId &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Get an EntityId property member from the object using a property.
static void Set(Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const Dob::Typesystem::Int64 value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Set an Int64 property member in the object using a property.
static void Get(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, Dob::Typesystem::Float64 &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Get a Float64 property member from the object using a property.
static void Get(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, Dob::Typesystem::ObjectPtr &ptr, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Get an object property member from the object using a property.
static void Set(Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const Dob::Typesystem::Binary &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Set a binary property member in the object using a property.
static bool IsChanged(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Is the property member changed.
static void Set(Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const Dob::Typesystem::Float64 value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Set a Float64 property member in the object using a property.
static void Set(Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const std::wstring &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Set a string property member in the object using a property.
static void Set(Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const Dob::Typesystem::ObjectPtr ptr, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Set an object property member in the object using a property.
static void Get(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, std::wstring &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Get a string property member from the object using a property.
static void Get(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, Dob::Typesystem::Int32 &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Get an Int32 property member from the object using a property.
static void GetParameterReference(const Dob::Typesystem::TypeId classId, const Dob::Typesystem::TypeId propertyId, const Dob::Typesystem::MemberIndex propertyMember, const Dob::Typesystem::ArrayIndex propertyIndex, Dob::Typesystem::TypeId &parameterTypeId, Dob::Typesystem::ParameterIndex &parameterIndex, Dob::Typesystem::ArrayIndex &parameterArrayIndex)
Get information needed to read the value of a property that is mapped to a parameter without the need...
static void Get(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, ChannelId &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Get a ChannelId property member from the object using a property.
static void Set(Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const HandlerId &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Set a HandlerId property member in the object using a property.
static Dob::Typesystem::PropertyMappingKind GetMappingKind(const Dob::Typesystem::TypeId classId, const Dob::Typesystem::TypeId propertyId, const Dob::Typesystem::MemberIndex propertyMember)
Get the information of how a property member is mapped for a class.
static bool IsNull(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Is the property member null.
static void SetNull(Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Set a property member to null.
static bool IsReadOnly(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Is the property member read-only.
static void Get(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, Dob::Typesystem::Float32 &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Get a Float32 property member from the object using a property.
static void Get(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, Dob::Typesystem::Int64 &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Get an Int64 property member from the object using a property.
static void Set(Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const Dob::Typesystem::Int32 value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Set an Int32 property member in the object using a property.
static void Set(Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const Dob::Typesystem::EntityId &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Set an EntityId property member in the object using a property.
static void Get(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, bool &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Get a boolean property member from the object using a property.
static void Get(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, HandlerId &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Get a HandlerId property member from the object using a property.
static void SetEnum(Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, const Dob::Typesystem::EnumerationValue value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Set an enumeration property member in the object using a property.
static void Get(const Dob::Typesystem::ObjectPtr object, const Dob::Typesystem::TypeId propertyId, Dob::Typesystem::Binary &value, const Dob::Typesystem::MemberIndex member, const Dob::Typesystem::ArrayIndex index)
Get a binary property member from the object using a property.
#define DOTS_CPP_API
Definition Defs.h:33