summaryrefslogtreecommitdiff
path: root/indra/newview/llsettingsvo.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llsettingsvo.h')
-rw-r--r--indra/newview/llsettingsvo.h27
1 files changed, 15 insertions, 12 deletions
diff --git a/indra/newview/llsettingsvo.h b/indra/newview/llsettingsvo.h
index 3c47009d5f..3339aaf037 100644
--- a/indra/newview/llsettingsvo.h
+++ b/indra/newview/llsettingsvo.h
@@ -36,23 +36,27 @@
#include "llsdserialize.h"
#include "llextendedstatus.h"
+#include <boost/signals2.hpp>
+
+class LLVFS;
//=========================================================================
class LLSettingsVOBase : public LLSettingsBase
{
public:
-#if 0
- static void storeAsAsset(const LLSettingsBase::ptr_t &settings);
-#endif
+ typedef std::function<void(LLUUID asset_id, LLSettingsBase::ptr_t settins, S32 status, LLExtStat extstat)> asset_download_fn;
+ typedef std::function<void(LLUUID asset_id, LLUUID inventory_id, LLUUID object_id, LLSD results)> inventory_result_fn;
- static void createInventoryItem(const LLSettingsBase::ptr_t &settings);
+ static void createInventoryItem(const LLSettingsBase::ptr_t &settings, inventory_result_fn callback = inventory_result_fn());
- static void uploadSettingsAsset(const LLSettingsBase::ptr_t &settings, LLUUID inv_item_id);
- static void uploadSettingsAsset(const LLSettingsBase::ptr_t &settings, LLUUID object_id, LLUUID inv_item_id);
+ static void updateInventoryItem(const LLSettingsBase::ptr_t &settings, LLUUID inv_item_id, inventory_result_fn callback = inventory_result_fn());
+ static void updateInventoryItem(const LLSettingsBase::ptr_t &settings, LLUUID object_id, LLUUID inv_item_id, inventory_result_fn callback = inventory_result_fn());
+ static void getSettingsAsset(const LLUUID &assetId, asset_download_fn callback);
static bool exportFile(const LLSettingsBase::ptr_t &settings, const std::string &filename, LLSDSerialize::ELLSD_Serialize format = LLSDSerialize::LLSD_NOTATION);
static LLSettingsBase::ptr_t importFile(const std::string &filename);
+ static LLSettingsBase::ptr_t createFromLLSD(const LLSD &settings);
private:
struct SettingsSaveData
@@ -66,13 +70,12 @@ private:
LLSettingsVOBase() {}
- static void onInventoryItemCreated(const LLUUID &inventoryId, LLSettingsBase::ptr_t settings);
+ static void onInventoryItemCreated(const LLUUID &inventoryId, LLSettingsBase::ptr_t settings, inventory_result_fn callback);
-#if 0
- static void onSaveNewAssetComplete(const LLUUID& new_asset_id, const SettingsSaveData::ptr_t &savedata, S32 status, LLExtStat ext_status);
-#endif
- static void onAgentAssetUploadComplete(LLUUID itemId, LLUUID newAssetId, LLUUID newItemId, LLSD response, LLSettingsBase::ptr_t psettings);
- static void onTaskAssetUploadComplete(LLUUID itemId, LLUUID taskId, LLUUID newAssetId, LLSD response, LLSettingsBase::ptr_t psettings);
+ static void onAgentAssetUploadComplete(LLUUID itemId, LLUUID newAssetId, LLUUID newItemId, LLSD response, LLSettingsBase::ptr_t psettings, inventory_result_fn callback);
+ static void onTaskAssetUploadComplete(LLUUID itemId, LLUUID taskId, LLUUID newAssetId, LLSD response, LLSettingsBase::ptr_t psettings, inventory_result_fn callback);
+
+ static void onAssetDownloadComplete(LLVFS *vfs, const LLUUID &asset_id, S32 status, LLExtStat ext_status, asset_download_fn callback);
};
//=========================================================================