SCENE C++ API  2.1.0
lsgenericbinaryobject.h
1 #pragma once
2 
3 #include <core_api/lsglobaldefinitions.h>
4 #include <core_api/lsobject.h>
5 #include <core_api/lsbinaryreader.h>
6 
9 
10 namespace SCENE_API
11 {
23 {
24  LS_UNCOPYABLE(LSGenericBinaryObject)
25 
26 public:
33  CORE_API_EXPORT ref_ptr<LSBinaryReader> getData();
34 
38  CORE_API_EXPORT size_t getSize() const;
39 
43  CORE_API_EXPORT LSString getMimeType() const;
44 
48  CORE_API_EXPORT LSString getContext() const;
49 
53  CORE_API_EXPORT LSString getId() const;
54 
69  CORE_API_EXPORT static LSResult::Result createGenericBinaryObject(
70  const ref_ptr<LSObject>& parent,
71  const LSString& name,
72  const LSString& context,
73  const LSString& id,
74  const LSString& filePath,
76  const LSString& mimeType = LSString()
77  );
78 
97  CORE_API_EXPORT static LSResult::Result createGenericBinaryObject(
98  const ref_ptr<LSObject>& parent,
99  const LSString& name,
100  const LSString& context,
101  const LSString& id,
102  const LSString& mimeType,
103  const ref_ptr<LSBinaryReader>& source,
105  );
106 
107 protected:
108  LS_INTERFACE(LSGenericBinaryObject, LSObject)
109 };
110 
111 } // SCENE_API