aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/share/perl/lib/OpenSim/InventoryServer/InventoryManager.pm
diff options
context:
space:
mode:
Diffstat (limited to 'share/perl/lib/OpenSim/InventoryServer/InventoryManager.pm')
-rw-r--r--share/perl/lib/OpenSim/InventoryServer/InventoryManager.pm86
1 files changed, 86 insertions, 0 deletions
diff --git a/share/perl/lib/OpenSim/InventoryServer/InventoryManager.pm b/share/perl/lib/OpenSim/InventoryServer/InventoryManager.pm
new file mode 100644
index 0000000..97111b7
--- /dev/null
+++ b/share/perl/lib/OpenSim/InventoryServer/InventoryManager.pm
@@ -0,0 +1,86 @@
1package OpenSim::InventoryServer::InventoryManager;
2
3use strict;
4use Carp;
5use OpenSim::Utility;
6use OpenSim::InventoryServer::Config;
7
8sub saveInventoryFolder {
9 my $folder = shift;
10 my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{save_inventory_folder},
11 $folder->{"folderID"},
12 $folder->{"agentID"},
13 $folder->{"parentFolderID"},
14 $folder->{"folderName"},
15 $folder->{"type"},
16 $folder->{"version"});
17}
18
19sub saveInventoryItem {
20 my $item = shift;
21 my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{save_inventory_item},
22 $item->{"inventoryID"},
23 $item->{"assetID"},
24 $item->{"type"},
25 $item->{"parentFolderID"},
26 $item->{"avatarID"},
27 $item->{"inventoryName"},
28 $item->{"inventoryDescription"},
29 $item->{"inventoryNextPermissions"},
30 $item->{"inventoryCurrentPermissions"},
31 $item->{"assetType"},
32 $item->{"invType"},
33 $item->{"creatorID"},
34 $item->{"inventoryBasePermissions"},
35 $item->{"inventoryEveryOnePermissions"});
36}
37
38sub getRootFolder {
39 my $agent_id = shift;
40 my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{get_root_folder},
41 &OpenSim::Utility::ZeroUUID(),
42 $agent_id);
43 my $count = @$result;
44 if ($count > 0) {
45 return $result->[0];
46 } else {
47 return undef;
48 }
49}
50
51sub getChildrenFolders {
52 my $parent_id = shift;
53 my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{get_children_folders}, $parent_id);
54 return $result;
55}
56
57sub getUserInventoryFolders {
58 my $agent_id = shift;
59 my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{get_user_inventory_folders},
60 $agent_id);
61 return $result;
62}
63
64sub getUserInventoryItems {
65 my $agent_id = shift;
66 my $result = &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{get_user_inventory_items},
67 $agent_id);
68 return $result;
69}
70
71sub deleteInventoryItem {
72 my $item_id = shift;
73 &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{delete_inventory_item},
74 $item_id);
75}
76
77sub moveInventoryFolder {
78 my $info = shift;
79 &OpenSim::Utility::getSimpleResult($OpenSim::InventoryServer::Config::SYS_SQL{move_inventory_folder},
80 $info->{parentID}->{UUID}, # TODO: not good
81 $info->{folderID}->{UUID}, # TODO: not good UUID should be extracted in the higher level
82 );
83}
84
851;
86