#ifndef __IUGC__H__ #define __IUGC__H__ #include #include #include #include #include class IUgc { public: struct Model { std::stringstream lxfmlData; LWOOBJID id{}; }; // Gets all UGC models for the given property id. virtual std::vector GetUgcModels(const LWOOBJID& propertyId) = 0; // Gets all Ugcs models. virtual std::vector GetAllUgcModels() = 0; // Removes ugc models that are not referenced by any property. virtual void RemoveUnreferencedUgcModels() = 0; // Deletes the ugc model for the given model id. virtual void DeleteUgcModelData(const LWOOBJID& modelId) = 0; // Inserts a new UGC model into the database. virtual void UpdateUgcModelData(const LWOOBJID& modelId, std::istringstream& lxfml) = 0; }; #endif //!__IUGC__H__