MyScript Interactive Ink SDK  4.0.0
ContentPackage.h
1 // Copyright @ MyScript. All rights reserved.
2 
3 #pragma once
4 
5 #include <iink/Engine.h>
6 #include <iink/String.h>
7 
8 #include <memory>
9 
10 namespace myscript {
11 namespace iink {
12 
13 class ContentPart;
14 class ParameterSet;
15 
22 {
23 public:
24  virtual ~ContentPackage() = default;
25 
30  virtual void save() = 0;
31 
44  virtual void saveToTemp() = 0;
45 
52  virtual void saveAs(const String& fileName) = 0;
53 
59  virtual int getPartCount() const noexcept = 0;
60 
68  virtual std::shared_ptr<ContentPart> getPart(int index) = 0;
69 
77  virtual std::shared_ptr<ContentPart> getPart(const String& id) = 0;
78 
85  virtual int indexOfPart(std::shared_ptr<ContentPart> part) = 0;
86 
94  virtual std::shared_ptr<ContentPart> createPart(const String& type) = 0;
95 
104  virtual void removePart(std::shared_ptr<ContentPart> part) = 0;
105 
116  virtual void movePart(int fromIndex, int toIndex) = 0;
117 
133  virtual std::shared_ptr<ContentPart> clonePart(std::shared_ptr<ContentPart> part) = 0;
134 
143  virtual void extractObject(const String& url, const String& fileName) = 0;
144 
150  virtual std::shared_ptr<ParameterSet> getMetadata() = 0;
151 
157  virtual void setMetadata(std::shared_ptr<ParameterSet> parameters) = 0;
158 
166  virtual String getPath() = 0;
167 };
168 
169 }
170 }
Definition: ContentPackage.h:22
virtual int indexOfPart(std::shared_ptr< ContentPart > part)=0
virtual std::shared_ptr< ParameterSet > getMetadata()=0
virtual std::shared_ptr< ContentPart > createPart(const String &type)=0
virtual std::shared_ptr< ContentPart > getPart(int index)=0
virtual void movePart(int fromIndex, int toIndex)=0
virtual std::shared_ptr< ContentPart > clonePart(std::shared_ptr< ContentPart > part)=0
virtual int getPartCount() const noexcept=0
virtual void saveAs(const String &fileName)=0
virtual void removePart(std::shared_ptr< ContentPart > part)=0
virtual void extractObject(const String &url, const String &fileName)=0
virtual void setMetadata(std::shared_ptr< ParameterSet > parameters)=0
virtual String getPath()=0
virtual ~ContentPackage()=default
Definition: ContentPart.h:25
Definition: ParameterSet.h:16
Definition: String.h:27
Definition: Configuration.h:11