diff --git a/OpenSim/Region/Framework/Interfaces/IRegionSyncModule.cs b/OpenSim/Region/Framework/Interfaces/IRegionSyncModule.cs new file mode 100755 index 0000000000..2cc75c962d --- /dev/null +++ b/OpenSim/Region/Framework/Interfaces/IRegionSyncModule.cs @@ -0,0 +1,84 @@ +/* + * 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. + */ + +//KittyL: Added to support running script engine actor + +using System.Collections.Generic; + +using OpenMetaverse; +using OpenSim.Framework; +using OpenSim.Region.Framework.Scenes; + +namespace OpenSim.Region.Framework.Interfaces +{ + public enum DSGActorTypes + { + Unknown, + ScenePersistence, //the Scene (data store), which is now considered as a persistence actor + ClientManager, + ScriptEngine, + PhysicsEngine + } + + + + ///////////////////////////////////////////////////////////////////////////////////// + //Interface for SceneGraph to call into RegionSyncModule + ///////////////////////////////////////////////////////////////////////////////////// + public interface IRegionSyncModule + { + bool Active { get; } //if true, this RegionSyncModule is connected into the synchronization overlay + string ActorID { get; } + DSGActorTypes DSGActorType { get; set; } + bool IsSyncRelay { get; } + + //Enqueue updates for scene-objects and scene-presences + void QueueSceneObjectPartForUpdate(SceneObjectPart part); + void QueueScenePresenceForTerseUpdate(ScenePresence presence); + + //void SendUpdatesToSynchronizeState(List sog); + void SendSceneUpdates(); + void SendTerrainUpdates(string lastUpdateActorID); + //void SendDeleteObject(SceneObjectGroup sog); + + //TODO LIST: + //Special API for handling avatars + //void QueuePresenceForTerseUpdate(ScenePresence presence) + //void SendAvatarUpdates(); + + } + + /// + /// Interface for invoking DSGActor specific functions or accessing members whose values depend on the actor's type. + /// + public interface IDSGActorSyncModule + { + DSGActorTypes ActorType { get; } + string ActorID { get; } + } + +} \ No newline at end of file