From d3eae4073e75d1482467eee54230df141bdbb568 Mon Sep 17 00:00:00 2001
From: Mike Mazur
Date: Tue, 3 Feb 2009 05:20:35 +0000
Subject: - move OpenSim/Framework/IUserData.cs to OpenSim/Data/IUserData.cs -
trim trailing whitespace
---
OpenSim/Data/IUserData.cs | 193 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 193 insertions(+)
create mode 100644 OpenSim/Data/IUserData.cs
(limited to 'OpenSim/Data')
diff --git a/OpenSim/Data/IUserData.cs b/OpenSim/Data/IUserData.cs
new file mode 100644
index 0000000..1564033
--- /dev/null
+++ b/OpenSim/Data/IUserData.cs
@@ -0,0 +1,193 @@
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the OpenSim Project nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+using System.Collections.Generic;
+using OpenMetaverse;
+using OpenSim.Framework;
+
+namespace OpenSim.Data
+{
+ ///
+ /// An interface for connecting to user storage servers.
+ ///
+ public interface IUserDataPlugin : IPlugin
+ {
+ ///
+ /// Returns a user profile from a database via their UUID
+ ///
+ /// The user's UUID
+ /// The user data profile. Returns null if no user is found
+ UserProfileData GetUserByUUID(UUID user);
+
+ ///
+ /// Returns a users profile by searching their username parts
+ ///
+ /// Account firstname
+ /// Account lastname
+ /// The user data profile
+ UserProfileData GetUserByName(string fname, string lname);
+
+ ///
+ /// Returns a list of UUIDs firstnames and lastnames that match string query entered into the avatar picker.
+ ///
+ /// ID associated with the user's query. This must match what the client sent
+ /// The filtered contents of the search box when the user hit search.
+ /// The user data profile
+ List GeneratePickerResults(UUID queryID, string query);
+
+ ///
+ /// Returns the current agent for a user searching by it's UUID
+ ///
+ /// The users UUID
+ /// The current agent session
+ UserAgentData GetAgentByUUID(UUID user);
+
+ ///
+ /// Returns the current session agent for a user searching by username
+ ///
+ /// The users account name
+ /// The current agent session
+ UserAgentData GetAgentByName(string name);
+
+ ///
+ /// Returns the current session agent for a user searching by username parts
+ ///
+ /// The users first account name
+ /// The users account surname
+ /// The current agent session
+ UserAgentData GetAgentByName(string fname, string lname);
+
+ ///
+ /// Stores new web-login key for user during web page login
+ ///
+ ///
+ void StoreWebLoginKey(UUID agentID, UUID webLoginKey);
+
+ ///
+ /// Adds a new User profile to the database
+ ///
+ /// UserProfile to add
+ void AddNewUserProfile(UserProfileData user);
+
+ ///
+ /// Updates an existing user profile
+ ///
+ /// UserProfile to update
+ bool UpdateUserProfile(UserProfileData user);
+
+ ///
+ /// Adds a new agent to the database
+ ///
+ /// The agent to add
+ void AddNewUserAgent(UserAgentData agent);
+
+ ///
+ /// Adds a new friend to the database for XUser
+ ///
+ /// The agent that who's friends list is being added to
+ /// The agent that being added to the friends list of the friends list owner
+ /// A uint bit vector for set perms that the friend being added has; 0 = none, 1=This friend can see when they sign on, 2 = map, 4 edit objects
+ void AddNewUserFriend(UUID friendlistowner, UUID friend, uint perms);
+
+ ///
+ /// Delete friend on friendlistowner's friendlist.
+ ///
+ /// The agent that who's friends list is being updated
+ /// The Ex-friend agent
+ void RemoveUserFriend(UUID friendlistowner, UUID friend);
+
+ ///
+ /// Update permissions for friend on friendlistowner's friendlist.
+ ///
+ /// The agent that who's friends list is being updated
+ /// The agent that is getting or loosing permissions
+ /// A uint bit vector for set perms that the friend being added has; 0 = none, 1=This friend can see when they sign on, 2 = map, 4 edit objects
+ void UpdateUserFriendPerms(UUID friendlistowner, UUID friend, uint perms);
+
+ ///
+ /// Returns a list of FriendsListItems that describe the friends and permissions in the friend relationship for UUID friendslistowner
+ ///
+ /// The agent that we're retreiving the friends Data.
+ List GetUserFriendList(UUID friendlistowner);
+
+ ///
+ /// Returns a list of
+ /// A of , mapping the s to s.
+ ///
+ Dictionary GetFriendRegionInfos(List uuids);
+
+ ///
+ /// Attempts to move currency units between accounts (NOT RELIABLE / TRUSTWORTHY. DONT TRY RUN YOUR OWN CURRENCY EXCHANGE WITH REAL VALUES)
+ ///
+ /// The account to transfer from
+ /// The account to transfer to
+ /// The amount to transfer
+ /// Successful?
+ bool MoneyTransferRequest(UUID from, UUID to, uint amount);
+
+ ///
+ /// Attempts to move inventory between accounts, if inventory is copyable it will be copied into the target account.
+ ///
+ /// User to transfer from
+ /// User to transfer to
+ /// Specified inventory item
+ /// Successful?
+ bool InventoryTransferRequest(UUID from, UUID to, UUID inventory);
+
+ ///
+ /// Initialises the plugin (artificial constructor)
+ ///
+ void Initialise(string connect);
+
+ ///
+ /// Gets the user appearance
+ ///
+ AvatarAppearance GetUserAppearance(UUID user);
+
+ void UpdateUserAppearance(UUID user, AvatarAppearance appearance);
+
+ void ResetAttachments(UUID userID);
+
+ void LogoutUsers(UUID regionID);
+ }
+
+ public class UserDataInitialiser : PluginInitialiserBase
+ {
+ private string connect;
+ public UserDataInitialiser (string s) { connect = s; }
+ public override void Initialise (IPlugin plugin)
+ {
+ IUserDataPlugin p = plugin as IUserDataPlugin;
+ p.Initialise (connect);
+ }
+ }
+}
--
cgit v1.1