You.i Engine
YiAssetDecoderJSON.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2018. All rights reserved.
2 #ifndef _YI_ASSET_DECODER_JSON_H_
3 #define _YI_ASSET_DECODER_JSON_H_
4 
5 #include "asset/YiAssetDecoder.h"
6 #include "utility/YiRtti.h"
7 
8 class CYIAsset;
9 class CYIAssetJSON;
10 class CYIString;
11 class CYIAssetLoadParams;
12 
29 {
30 public:
32  virtual ~CYIAssetDecoderJSON();
33 
34  // CYIAssetDecoder Virtuals
35  virtual bool SupportsParams(const CYIAssetLoadParams *pDecodeParams) override;
36  virtual bool IsFormatSupported(const uint8_t *pData, uint32_t uDataSize) override;
37  virtual std::shared_ptr<CYIAsset> DecodeAsset(const CYIString &path, const CYIAssetLoadParams *pDecodeParams) override;
38  virtual std::shared_ptr<CYIAsset> DecodeAsset(const uint8_t *pData, uint32_t uDataSize, const CYIAssetLoadParams *pDecodeParams) override;
39  virtual bool DecodeAsset(const std::shared_ptr<CYIAsset> &pAsset) override;
40  virtual bool DecodeAsset(const std::shared_ptr<CYIAsset> &pAsset, const uint8_t *pData, uint32_t uDataSize) override;
41 
42 private:
44 };
45 
50 #endif
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
#define YI_TYPE_BASES(...)
Definition: YiRtti.h:350
virtual bool IsFormatSupported(const uint8_t *pData, uint32_t uDataSize) override
Represents the contents of a JSON file or string.
Definition: YiAssetJSON.h:23
Base class for decoders which can accept specialized parameter objects.
Definition: YiAssetLoadParams.h:16
virtual bool SupportsParams(const CYIAssetLoadParams *pDecodeParams) override
virtual ~CYIAssetDecoderJSON()
Base class for any asset. An asset provides functions for dynamically loading and unloading itself an...
Definition: YiAsset.h:33
Base class for all specialized decoders.
Definition: YiAssetDecoder.h:22
virtual std::shared_ptr< CYIAsset > DecodeAsset(const CYIString &path, const CYIAssetLoadParams *pDecodeParams) override
This file contains the classes and macros used to implement RTTI in You.i Engine. ...
Parses/decodes JSON data.
Definition: YiAssetDecoderJSON.h:28