NAP
unresolvedpointer.h
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4 
5 #pragma once
6 
7 // Local Includes
8 #include "rtti.h"
9 #include "path.h"
10 
11 // External Includes
12 #include <string>
13 #include <utility/dllexport.h>
14 
15 
16 namespace nap
17 {
18  namespace rtti
19  {
20  class Object;
21 
28  struct NAPAPI UnresolvedPointer
29  {
30  UnresolvedPointer(Object* object, const rtti::Path& path, const std::string& targetID) :
31  mObject(object),
32  mRTTIPath(path),
33  mTargetID(targetID)
34  {
35  }
36 
44  std::string getResourceTargetID() const;
45 
46  Object* mObject; // The object this pointer is on
47  rtti::Path mRTTIPath; // RTTIPath to the pointer on <mObject>
48  std::string mTargetID; // The ID of the target this pointer should point to
49  };
50 
51  using UnresolvedPointerList = std::vector<UnresolvedPointer>;
52  }
53 }
nap::rtti::UnresolvedPointer::UnresolvedPointer
UnresolvedPointer(Object *object, const rtti::Path &path, const std::string &targetID)
Definition: unresolvedpointer.h:30
nap::rtti::Object
Definition: object.h:30
nap::rtti::UnresolvedPointer::mRTTIPath
rtti::Path mRTTIPath
Definition: unresolvedpointer.h:47
nap::rtti::UnresolvedPointer
Definition: unresolvedpointer.h:28
nap::rtti::UnresolvedPointer::mObject
Object * mObject
Definition: unresolvedpointer.h:46
nap
Definition: templateapp.h:17
nap::rtti::UnresolvedPointer::mTargetID
std::string mTargetID
Definition: unresolvedpointer.h:48
nap::rtti::Path
Definition: path.h:409
nap::rtti::UnresolvedPointerList
std::vector< UnresolvedPointer > UnresolvedPointerList
Definition: unresolvedpointer.h:51