You.i Engine
YiAssetManifest.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_ASSET_MANIFEST_H_
3 #define _YI_ASSET_MANIFEST_H_
4 
5 #include "framework/YiVersion.h"
6 
22 {
23  friend class CYIAssetManifestParser;
24 
25 public:
31  class Node
32  {
33  friend class CYIAssetManifestParser;
34 
35  public:
36  Node(const CYIString &name);
37 
41  const CYIString &GetName() const;
42 
46  const std::vector<Node> &GetChildren() const;
47 
53  uint32_t GetApproximateCPUSize() const;
54 
55  protected:
59  Node &AddChild(const Node &child);
60 
61  private:
62  CYIString m_Name;
63  std::vector<Node> m_Children;
64  };
65 
67  virtual ~CYIAssetManifest();
68 
72  const CYIVersion &GetManifestVersion() const;
73 
77  const CYIVersion &GetMinimumEngineVersion() const;
78 
82  const CYIVersion &GetMaximumEngineVersion() const;
83 
87  const Node &GetRootNode() const;
88 
92  void SetRootNode(const Node &manifestItem);
93 
97  bool IsEmpty() const;
98 
104  uint32_t GetApproximateCPUSize() const;
105 
106 protected:
110  void SetManifestVersion(const CYIVersion &manifestVersion);
111 
115  void SetMinimumEngineVersion(const CYIVersion &minimumVersion);
116 
120  void SetMaximumEngineVersion(const CYIVersion &maximumVersion);
121 
122 private:
123  CYIVersion m_ManifestVersion;
124  CYIVersion m_MinimumVersion;
125  CYIVersion m_MaximumVersion;
126  Node m_AssetRoot;
127 };
128 
133 #endif // _YI_ASSET_MANIFEST_H_
void SetRootNode(const Node &manifestItem)
virtual ~CYIAssetManifest()
void SetMaximumEngineVersion(const CYIVersion &maximumVersion)
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
CYIVersion is a data structure that represents semantic versioning.
Definition: YiVersion.h:28
friend class CYIAssetManifestParser
Definition: YiAssetManifest.h:33
void SetManifestVersion(const CYIVersion &manifestVersion)
Node & AddChild(const Node &child)
const std::vector< Node > & GetChildren() const
Stores information for the asset manifest.
Definition: YiAssetManifest.h:21
const CYIVersion & GetManifestVersion() const
const CYIVersion & GetMinimumEngineVersion() const
void SetMinimumEngineVersion(const CYIVersion &minimumVersion)
bool IsEmpty() const
const CYIVersion & GetMaximumEngineVersion() const
const Node & GetRootNode() const
Node for the manifest.
Definition: YiAssetManifest.h:31
const CYIString & GetName() const
friend class CYIAssetManifestParser
Definition: YiAssetManifest.h:23
uint32_t GetApproximateCPUSize() const
Node(const CYIString &name)