From a0ef3df1941147cfc894493950e4d204f6b34216 Mon Sep 17 00:00:00 2001
From: Mic Bowman
Date: Wed, 30 Jan 2013 14:45:03 -0800
Subject: Add JsonTestStore to determine if a JsonStore is associated with a
particular UUID.
---
OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs | 1 +
.../OptionalModules/Scripting/JsonStore/JsonStoreModule.cs | 13 +++++++++++++
.../Scripting/JsonStore/JsonStoreScriptModule.cs | 11 +++++++++++
3 files changed, 25 insertions(+)
(limited to 'OpenSim')
diff --git a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs
index da39e95..0bb4567 100644
--- a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs
@@ -37,6 +37,7 @@ namespace OpenSim.Region.Framework.Interfaces
{
bool CreateStore(string value, ref UUID result);
bool DestroyStore(UUID storeID);
+ bool TestStore(UUID storeID);
bool TestPath(UUID storeID, string path, bool useJson);
bool SetValue(UUID storeID, string path, string value, bool useJson);
bool RemoveValue(UUID storeID, string path);
diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs
index e68764a..b9b3ebc 100644
--- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs
@@ -221,6 +221,19 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
///
///
// -----------------------------------------------------------------
+ public bool TestStore(UUID storeID)
+ {
+ if (! m_enabled) return false;
+
+ lock (m_JsonValueStore)
+ return m_JsonValueStore.ContainsKey(storeID);
+ }
+
+ // -----------------------------------------------------------------
+ ///
+ ///
+ ///
+ // -----------------------------------------------------------------
public bool TestPath(UUID storeID, string path, bool useJson)
{
if (! m_enabled) return false;
diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs
index b9dcfea..29955af 100644
--- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs
@@ -167,6 +167,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
{
m_comms.RegisterScriptInvocation(this, "JsonCreateStore");
m_comms.RegisterScriptInvocation(this, "JsonDestroyStore");
+ m_comms.RegisterScriptInvocation(this, "JsonTestStore");
m_comms.RegisterScriptInvocation(this, "JsonReadNotecard");
m_comms.RegisterScriptInvocation(this, "JsonWriteNotecard");
@@ -248,6 +249,16 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
///
///
// -----------------------------------------------------------------
+ protected int JsonTestStore(UUID hostID, UUID scriptID, UUID storeID)
+ {
+ return m_store.TestStore(storeID) ? 1 : 0;
+ }
+
+ // -----------------------------------------------------------------
+ ///
+ ///
+ ///
+ // -----------------------------------------------------------------
protected UUID JsonReadNotecard(UUID hostID, UUID scriptID, UUID storeID, string path, UUID assetID)
{
UUID reqID = UUID.Random();
--
cgit v1.1