clockwerk-opensim-stable – Diff between revs 1 and 3
?pathlinks?
Rev 1 | Rev 3 | |||
---|---|---|---|---|
1 | /* |
1 | /* |
|
2 | * Copyright (c) Contributors, http://opensimulator.org/ |
2 | * Copyright (c) Contributors, http://opensimulator.org/ |
|
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
|
4 | * |
4 | * |
|
5 | * Redistribution and use in source and binary forms, with or without |
5 | * Redistribution and use in source and binary forms, with or without |
|
6 | * modification, are permitted provided that the following conditions are met: |
6 | * modification, are permitted provided that the following conditions are met: |
|
7 | * * Redistributions of source code must retain the above copyright |
7 | * * Redistributions of source code must retain the above copyright |
|
8 | * notice, this list of conditions and the following disclaimer. |
8 | * notice, this list of conditions and the following disclaimer. |
|
9 | * * Redistributions in binary form must reproduce the above copyright |
9 | * * Redistributions in binary form must reproduce the above copyright |
|
10 | * notice, this list of conditions and the following disclaimer in the |
10 | * notice, this list of conditions and the following disclaimer in the |
|
11 | * documentation and/or other materials provided with the distribution. |
11 | * documentation and/or other materials provided with the distribution. |
|
12 | * * Neither the name of the OpenSimulator Project nor the |
12 | * * Neither the name of the OpenSimulator Project nor the |
|
13 | * names of its contributors may be used to endorse or promote products |
13 | * names of its contributors may be used to endorse or promote products |
|
14 | * derived from this software without specific prior written permission. |
14 | * derived from this software without specific prior written permission. |
|
15 | * |
15 | * |
|
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY |
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY |
|
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
|
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY |
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY |
|
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
26 | */ |
26 | */ |
|
27 | |
27 | |
|
28 | using System; |
28 | using System; |
|
29 | using System.Collections.Generic; |
29 | using System.Collections.Generic; |
|
30 | using System.IO; |
30 | using System.IO; |
|
31 | using OpenSim.Services.Interfaces; |
31 | using OpenSim.Services.Interfaces; |
|
32 | |
32 | |
|
33 | namespace OpenSim.Region.Framework.Interfaces |
33 | namespace OpenSim.Region.Framework.Interfaces |
|
34 | { |
34 | { |
|
35 | /// <summary> |
35 | /// <summary> |
|
36 | /// Used for the OnInventoryArchiveSaved event. |
36 | /// Used for the OnInventoryArchiveSaved event. |
|
37 | /// </summary> |
37 | /// </summary> |
|
38 | /// <param name="id">Request id</param> |
38 | /// <param name="id">Request id</param> |
|
39 | /// <param name="succeeded">true if the save succeeded, false otherwise</param> |
39 | /// <param name="succeeded">true if the save succeeded, false otherwise</param> |
|
40 | /// <param name="userInfo">The user for whom the save was conducted</param> |
40 | /// <param name="userInfo">The user for whom the save was conducted</param> |
|
41 | /// <param name="invPath">The inventory path saved</param> |
41 | /// <param name="invPath">The inventory path saved</param> |
|
42 | /// <param name="savePath">The stream to which the archive was saved</param> |
42 | /// <param name="savePath">The stream to which the archive was saved</param> |
|
43 | /// <param name="reportedException">Contains the exception generated if the save did not succeed</param> |
43 | /// <param name="reportedException">Contains the exception generated if the save did not succeed</param> |
|
44 | public delegate void InventoryArchiveSaved( |
44 | public delegate void InventoryArchiveSaved( |
|
45 | Guid id, bool succeeded, UserAccount userInfo, string invPath, Stream saveStream, Exception reportedException); |
45 | Guid id, bool succeeded, UserAccount userInfo, string invPath, Stream saveStream, Exception reportedException); |
|
46 | |
46 | |
|
47 | public interface IInventoryArchiverModule |
47 | public interface IInventoryArchiverModule |
|
48 | { |
48 | { |
|
49 | /// <summary> |
49 | /// <summary> |
|
50 | /// Fired when an archive inventory save has been completed. |
50 | /// Fired when an archive inventory save has been completed. |
|
51 | /// </summary> |
51 | /// </summary> |
|
52 | event InventoryArchiveSaved OnInventoryArchiveSaved; |
52 | event InventoryArchiveSaved OnInventoryArchiveSaved; |
|
53 | |
53 | |
|
54 | /// <summary> |
54 | /// <summary> |
|
55 | /// Dearchive a user's inventory folder from the given stream |
55 | /// Dearchive a user's inventory folder from the given stream |
|
56 | /// </summary> |
56 | /// </summary> |
|
57 | /// <param name="firstName"></param> |
57 | /// <param name="firstName"></param> |
|
58 | /// <param name="lastName"></param> |
58 | /// <param name="lastName"></param> |
|
59 | /// <param name="invPath">The inventory path in which to place the loaded folders and items</param> |
59 | /// <param name="invPath">The inventory path in which to place the loaded folders and items</param> |
|
60 | /// <param name="loadStream">The stream from which the inventory archive will be loaded</param> |
60 | /// <param name="loadStream">The stream from which the inventory archive will be loaded</param> |
|
61 | /// <returns>true if the first stage of the operation succeeded, false otherwise</returns> |
61 | /// <returns>true if the first stage of the operation succeeded, false otherwise</returns> |
|
62 | bool DearchiveInventory(string firstName, string lastName, string invPath, string pass, Stream loadStream); |
62 | bool DearchiveInventory(string firstName, string lastName, string invPath, Stream loadStream); |
|
63 | |
63 | |
|
64 | /// <summary> |
64 | /// <summary> |
|
65 | /// Dearchive a user's inventory folder from the given stream |
65 | /// Dearchive a user's inventory folder from the given stream |
|
66 | /// </summary> |
66 | /// </summary> |
|
67 | /// <param name="firstName"></param> |
67 | /// <param name="firstName"></param> |
|
68 | /// <param name="lastName"></param> |
68 | /// <param name="lastName"></param> |
|
69 | /// <param name="invPath">The inventory path in which to place the loaded folders and items</param> |
69 | /// <param name="invPath">The inventory path in which to place the loaded folders and items</param> |
|
70 | /// <param name="loadStream">The stream from which the inventory archive will be loaded</param> |
70 | /// <param name="loadStream">The stream from which the inventory archive will be loaded</param> |
|
71 | /// <param name="options">Dearchiving options. At the moment, the only option is ("merge", true). This merges |
71 | /// <param name="options">Dearchiving options. At the moment, the only option is ("merge", true). This merges |
|
72 | /// the loaded IAR with existing folders where possible.</param> |
72 | /// the loaded IAR with existing folders where possible.</param> |
|
73 | /// <returns>true if the first stage of the operation succeeded, false otherwise</returns> |
73 | /// <returns>true if the first stage of the operation succeeded, false otherwise</returns> |
|
74 | bool DearchiveInventory( |
74 | bool DearchiveInventory( |
|
75 | string firstName, string lastName, string invPath, string pass, Stream loadStream, |
75 | string firstName, string lastName, string invPath, Stream loadStream, |
|
76 | Dictionary<string, object> options); |
76 | Dictionary<string, object> options); |
|
77 | |
77 | |
|
78 | /// <summary> |
78 | /// <summary> |
|
79 | /// Archive a user's inventory folder to the given stream |
79 | /// Archive a user's inventory folder to the given stream |
|
80 | /// </summary> |
80 | /// </summary> |
|
81 | /// <param name="id">ID representing this request. This will later be returned in the save event</param> |
81 | /// <param name="id">ID representing this request. This will later be returned in the save event</param> |
|
82 | /// <param name="firstName"></param> |
82 | /// <param name="firstName"></param> |
|
83 | /// <param name="lastName"></param> |
83 | /// <param name="lastName"></param> |
|
84 | /// <param name="invPath">The inventory path from which the inventory should be saved.</param> |
84 | /// <param name="invPath">The inventory path from which the inventory should be saved.</param> |
|
85 | /// <param name="saveStream">The stream to which the inventory archive will be saved</param> |
85 | /// <param name="saveStream">The stream to which the inventory archive will be saved</param> |
|
86 | /// <returns>true if the first stage of the operation succeeded, false otherwise</returns> |
86 | /// <returns>true if the first stage of the operation succeeded, false otherwise</returns> |
|
87 | bool ArchiveInventory(Guid id, string firstName, string lastName, string invPath, string pass, Stream saveStream); |
87 | bool ArchiveInventory(Guid id, string firstName, string lastName, string invPath, Stream saveStream); |
|
88 | |
88 | |
|
89 | /// <summary> |
89 | /// <summary> |
|
90 | /// Archive a user's inventory folder to the given stream |
90 | /// Archive a user's inventory folder to the given stream |
|
91 | /// </summary> |
91 | /// </summary> |
|
92 | /// <param name="id">ID representing this request. This will later be returned in the save event</param> |
92 | /// <param name="id">ID representing this request. This will later be returned in the save event</param> |
|
93 | /// <param name="firstName"></param> |
93 | /// <param name="firstName"></param> |
|
94 | /// <param name="lastName"></param> |
94 | /// <param name="lastName"></param> |
|
95 | /// <param name="invPath">The inventory path from which the inventory should be saved.</param> |
95 | /// <param name="invPath">The inventory path from which the inventory should be saved.</param> |
|
96 | /// <param name="saveStream">The stream to which the inventory archive will be saved</param> |
96 | /// <param name="saveStream">The stream to which the inventory archive will be saved</param> |
|
97 | /// <param name="options">Archiving options. Currently, there are none.</param> |
97 | /// <param name="options">Archiving options. Currently, there are none.</param> |
|
98 | /// <returns>true if the first stage of the operation succeeded, false otherwise</returns> |
98 | /// <returns>true if the first stage of the operation succeeded, false otherwise</returns> |
|
99 | bool ArchiveInventory( |
99 | bool ArchiveInventory( |
|
100 | Guid id, string firstName, string lastName, string invPath, string pass, Stream saveStream, |
100 | Guid id, string firstName, string lastName, string invPath, Stream saveStream, |
|
101 | Dictionary<string, object> options); |
101 | Dictionary<string, object> options); |
|
102 | } |
102 | } |
|
103 | } |
103 | } |
|
104 | |
104 | |