//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.5448
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace Pluto.RelayServer {
    using System;
    using RemObjects.SDK;
    using RemObjects.SDK.Types;
    using RemObjects.SDK.Server;
    
    [RemObjects.SDK.Server.EventSinkProxy(Name="DataServerCallback", EventSink=typeof(IDataServerCallback))]
    public class DataServerCallback_EventSinkProxy : RemObjects.SDK.Server.EventSinkProxy, IDataServerCallback {
        public DataServerCallback_EventSinkProxy(RemObjects.SDK.IMessage aMessage, RemObjects.SDK.Server.IServerEventChannel aServerEventChannel, RemObjects.SDK.Server.IEventTargets aEventTargets) : 
                base(aMessage, aServerEventChannel, aEventTargets) {
        }
        protected override string @__GetInterfaceName() {
            return "DataServerCallback";
        }
        protected override System.Type @__GetEventSinkType() {
            return typeof(IDataServerCallback);
        }
        public virtual void Action_Add(string SessionID, ActionFetch actionType, System.Xml.XmlNode actionParams) {
            @__Message.InitializeEventMessage(@__ServerEventChannel, @__GetInterfaceName(), "Action_Add");
            @__Message.WriteAnsiString("SessionID", SessionID);
            @__Message.Write("actionType", actionType, typeof(ActionFetch), RemObjects.SDK.StreamingFormat.Default);
            @__Message.WriteXml("actionParams", actionParams);
            @__Message.FinalizeMessage();
            @__ServerEventChannel.DispatchEvent(@__Message, @__GetEventSinkType(), @__EventTargets);
        }
        public virtual void Action_Update(string SessionID, ActionFetch actionType, System.Xml.XmlNode actionParams) {
            @__Message.InitializeEventMessage(@__ServerEventChannel, @__GetInterfaceName(), "Action_Update");
            @__Message.WriteAnsiString("SessionID", SessionID);
            @__Message.Write("actionType", actionType, typeof(ActionFetch), RemObjects.SDK.StreamingFormat.Default);
            @__Message.WriteXml("actionParams", actionParams);
            @__Message.FinalizeMessage();
            @__ServerEventChannel.DispatchEvent(@__Message, @__GetEventSinkType(), @__EventTargets);
        }
        public virtual void Action_Delete(string SessionID, ActionFetch actionType, System.Xml.XmlNode actionParams) {
            @__Message.InitializeEventMessage(@__ServerEventChannel, @__GetInterfaceName(), "Action_Delete");
            @__Message.WriteAnsiString("SessionID", SessionID);
            @__Message.Write("actionType", actionType, typeof(ActionFetch), RemObjects.SDK.StreamingFormat.Default);
            @__Message.WriteXml("actionParams", actionParams);
            @__Message.FinalizeMessage();
            @__ServerEventChannel.DispatchEvent(@__Message, @__GetEventSinkType(), @__EventTargets);
        }
        public virtual void Fetch(string SessionID, ActionFetch fetchType, System.Xml.XmlNode fetchParams) {
            @__Message.InitializeEventMessage(@__ServerEventChannel, @__GetInterfaceName(), "Fetch");
            @__Message.WriteAnsiString("SessionID", SessionID);
            @__Message.Write("fetchType", fetchType, typeof(ActionFetch), RemObjects.SDK.StreamingFormat.Default);
            @__Message.WriteXml("fetchParams", fetchParams);
            @__Message.FinalizeMessage();
            @__ServerEventChannel.DispatchEvent(@__Message, @__GetEventSinkType(), @__EventTargets);
        }
    }
}
