#pragma once #include #include #include #include namespace nx { class FacBinary : public FacHeader { public: FacBinary(); FacBinary(const FacBinary& other); FacBinary(const u8* bytes, size_t len); bool operator==(const FacBinary& other) const; bool operator!=(const FacBinary& other) const; void operator=(const FacBinary& other); // to be used after export const u8* getBytes() const; size_t getSize() const; // export/import binary void exportBinary(); void importBinary(const u8* bytes, size_t len); // variables void clear(); const fnd::List& getContentOwnerIdList() const; void setContentOwnerIdList(const fnd::List& list); const fnd::List& getSaveDataOwnerIdList() const; void setSaveDataOwnerIdList(const fnd::List& list); private: const std::string kModuleName = "FAC_BINARY"; static const u32 kFacFormatVersion = 1; // raw binary fnd::MemoryBlob mBinaryBlob; // variables fnd::List mContentOwnerIdList; fnd::List mSaveDataOwnerIdList; bool isEqual(const FacBinary& other) const; void copyFrom(const FacBinary& other); }; }