#ifndef __IPROPERTY__H__ #define __IPROPERTY__H__ #include #include class IProperty { public: struct Info { std::string name; std::string description; std::string rejectionReason; LWOOBJID id{}; uint32_t ownerId{}; LWOCLONEID cloneId{}; int32_t privacyOption{}; uint32_t modApproved{}; uint32_t lastUpdatedTime{}; uint32_t claimedTime{}; uint32_t reputation{}; }; // Get the property info for the given property id. virtual std::optional GetPropertyInfo(const LWOMAPID mapId, const LWOCLONEID cloneId) = 0; // Update the property moderation info for the given property id. virtual void UpdatePropertyModerationInfo(const IProperty::Info& info) = 0; // Update the property details for the given property id. virtual void UpdatePropertyDetails(const IProperty::Info& info) = 0; // Update the property performance cost for the given property id. virtual void UpdatePerformanceCost(const LWOZONEID& zoneId, const float performanceCost) = 0; // Insert a new property into the database. virtual void InsertNewProperty(const IProperty::Info& info, const uint32_t templateId, const LWOZONEID& zoneId) = 0; }; #endif //!__IPROPERTY__H__