Initial Commit

This commit is contained in:
2016-07-27 00:32:34 -04:00
commit 8d162b2035
701 changed files with 188672 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
namespace Pluto.RelayServer
{
partial class Installer
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
}
#endregion
}
}

View File

@@ -0,0 +1,38 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
using System.Linq;
using System.ServiceProcess;
namespace Pluto.RelayServer
{
[RunInstaller(true)]
public partial class Installer : System.Configuration.Install.Installer
{
public Installer()
{
InitializeComponent();
ServiceProcessInstaller serviceProcessInstaller = new ServiceProcessInstaller();
ServiceInstaller serviceInstaller = new ServiceInstaller();
//# Service Account Information
serviceProcessInstaller.Account = ServiceAccount.LocalSystem;
serviceProcessInstaller.Username = null;
serviceProcessInstaller.Password = null;
//# Service Information
serviceInstaller.ServiceName = "PlutoRelayServer";
serviceInstaller.DisplayName = "McKesson Mobile Relay Server";
serviceInstaller.Description = "Manages relaying of data updates and retrieval for McKesson's PPS Mobile Solution";
serviceInstaller.StartType = ServiceStartMode.Automatic;
// # Done
this.Installers.Add(serviceProcessInstaller);
this.Installers.Add(serviceInstaller);
}
}
}

View File

@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceProcess;
using System.Text;
namespace RelayServer
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new RelayService()
};
ServiceBase.Run(ServicesToRun);
}
}
}

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("RelayServer")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("RelayServer")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2012")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("4a9d5287-e90d-48e3-ba9e-9ad21cc8aa48")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,103 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{21F48262-3CB8-44BD-9223-C0C45F6AF133}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Pluto.RelayServer</RootNamespace>
<AssemblyName>Pluto.RelayServer</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\Target\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\Target\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="RemObjects.InternetPack, Version=7.0.63.1055, Culture=neutral, PublicKeyToken=3df3cad1b7aa5098, processorArchitecture=MSIL">
<HintPath>..\..\3rdParty\RemObjects\Server\RemObjects.InternetPack.dll</HintPath>
</Reference>
<Reference Include="RemObjects.SDK, Version=7.0.63.1055, Culture=neutral, PublicKeyToken=3df3cad1b7aa5098, processorArchitecture=MSIL">
<HintPath>..\..\3rdParty\RemObjects\Server\RemObjects.SDK.dll</HintPath>
</Reference>
<Reference Include="RemObjects.SDK.Server, Version=7.0.63.1055, Culture=neutral, PublicKeyToken=3df3cad1b7aa5098, processorArchitecture=MSIL">
<HintPath>..\..\3rdParty\RemObjects\Server\RemObjects.SDK.Server.dll</HintPath>
</Reference>
<Reference Include="RemObjects.SDK.ZLib, Version=7.0.63.1055, Culture=neutral, PublicKeyToken=3df3cad1b7aa5098, processorArchitecture=MSIL">
<HintPath>..\..\3rdParty\RemObjects\Server\RemObjects.SDK.ZLib.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Core" />
<Reference Include="System.Management" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" />
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Installer.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Installer.Designer.cs">
<DependentUpon>Installer.cs</DependentUpon>
</Compile>
<Compile Include="RelayServerResponse_Impl.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="RelayServer_Events.cs" />
<Compile Include="RelayServer_Intf.cs" />
<Compile Include="RelayServer_Invk.cs" />
<Compile Include="RelayService.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="RelayService.Designer.cs">
<DependentUpon>RelayService.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="RelayServer.rodl" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RelayService.resx">
<DependentUpon>RelayService.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>"C:\Program Files (x86)\RemObjects Software\RemObjects SDK (Common)\Bin\RODL.exe" /language:c# "$(ProjectDir)RelayServer.rodl"</PreBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,110 @@
<?xml version="1.0" encoding="utf-8"?>
<Library Name="RelayServer" Namespace="Pluto.RelayServer" UID="{78EC3334-3689-434D-A567-A828E647FFA3}" Version="3.0">
<Documentation><![CDATA[The Pluto Server Api Responsible for handling clients that can not open their ports and therefore we have to relay their traffic/bandwith thru us.]]></Documentation>
<Services>
<Service Name="RelayServerResponse" UID="{A3A09EE3-10E8-481C-9D8B-79FD7EDCBAA6}">
<Documentation><![CDATA[Responsible for handling a response that has been triggered by a DataServerCallback call.
EventSinks don't have out parameters or Return Types and can only trigger an event. This class handles the data transfer once a Callback/Event has been triggered. The client will call this class to transfer the data]]></Documentation>
<Interfaces>
<Interface Name="Default" UID="{AFA966F7-CEA1-488F-87E2-A64124735660}">
<Operations>
<Operation Name="Action_Response" UID="{4F7EC2CE-F94D-4671-9315-C8CE522DC1B6}">
<Parameters>
<Parameter Name="SessionID" DataType="AnsiString" Flag="In" >
</Parameter>
<Parameter Name="actionType" DataType="ActionFetch" Flag="In" >
</Parameter>
<Parameter Name="Success" DataType="Boolean" Flag="In" >
</Parameter>
<Parameter Name="ErrorString" DataType="AnsiString" Flag="In" >
</Parameter>
</Parameters>
</Operation>
<Operation Name="Fetch_Response" UID="{A83E7230-42BF-4FB0-8D2C-2E4D160920B1}">
<Parameters>
<Parameter Name="SessionID" DataType="AnsiString" Flag="In" >
</Parameter>
<Parameter Name="fetchType" DataType="ActionFetch" Flag="In" >
</Parameter>
<Parameter Name="Success" DataType="Boolean" Flag="In" >
</Parameter>
<Parameter Name="ErrorString" DataType="AnsiString" Flag="In" >
</Parameter>
<Parameter Name="Response" DataType="Xml" Flag="In" >
</Parameter>
</Parameters>
</Operation>
</Operations>
</Interface>
</Interfaces>
</Service>
</Services>
<EventSinks>
<EventSink Name="DataServerCallback" UID="{B3DED3F6-958F-41AB-BCA3-F9C10F1CBE0E}">
<Documentation><![CDATA[This is the Client Event Sink (Callback) that is responsible for actually sending us data and making the needed changes on the database. Initiates the Action]]></Documentation>
<Interfaces>
<Interface Name="Default" UID="{6AB609C5-1AEB-4B5C-8C84-88EFF431C232}">
<Operations>
<Operation Name="Action_Add" UID="{C9A34052-6FE6-4712-BA6D-C078CCDE853B}">
<Parameters>
<Parameter Name="SessionID" DataType="AnsiString" Flag="In">
</Parameter>
<Parameter Name="actionType" DataType="ActionFetch" Flag="In">
</Parameter>
<Parameter Name="actionParams" DataType="Xml" Flag="In">
</Parameter>
</Parameters>
</Operation>
<Operation Name="Action_Update" UID="{D6C5CA79-8EE0-4D2E-A7DF-635872E5002D}">
<Parameters>
<Parameter Name="SessionID" DataType="AnsiString" Flag="In">
</Parameter>
<Parameter Name="actionType" DataType="ActionFetch" Flag="In">
</Parameter>
<Parameter Name="actionParams" DataType="Xml" Flag="In">
</Parameter>
</Parameters>
</Operation>
<Operation Name="Action_Delete" UID="{320EC3D8-746C-438A-940E-6343DF93DA70}">
<Parameters>
<Parameter Name="SessionID" DataType="AnsiString" Flag="In">
</Parameter>
<Parameter Name="actionType" DataType="ActionFetch" Flag="In">
</Parameter>
<Parameter Name="actionParams" DataType="Xml" Flag="In">
</Parameter>
</Parameters>
</Operation>
<Operation Name="Fetch" UID="{5B919887-CACB-4935-969B-E5455B24C17A}">
<Parameters>
<Parameter Name="SessionID" DataType="AnsiString" Flag="In">
</Parameter>
<Parameter Name="fetchType" DataType="ActionFetch" Flag="In">
</Parameter>
<Parameter Name="fetchParams" DataType="Xml" Flag="In">
</Parameter>
</Parameters>
</Operation>
</Operations>
</Interface>
</Interfaces>
</EventSink>
</EventSinks>
<Structs>
</Structs>
<Enums>
<Enum Name="ActionFetch" UID="{82A7D0F5-5886-47C3-8B55-F575EF79516A}">
<Documentation><![CDATA[Type of Action or Fetch you want to perform on a DataServerCallback]]></Documentation>
<EnumValues>
<EnumValue Name="CustomQuery">
</EnumValue>
<EnumValue Name="Patient">
</EnumValue>
<EnumValue Name="Appointment">
</EnumValue>
</EnumValues>
</Enum>
</Enums>
<Arrays>
</Arrays>
</Library>

View File

@@ -0,0 +1,50 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.269
//
// 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;
using RemObjects.SDK.Server.ClassFactories;
[RemObjects.SDK.Server.ClassFactories.StandardClassFactory()]
[RemObjects.SDK.Server.Service(Name = "RelayServerResponse", InvokerClass = typeof(RelayServerResponse_Invoker), ActivatorClass = typeof(RelayServerResponse_Activator))]
public class RelayServerResponse : RemObjects.SDK.Server.Service, IRelayServerResponse
{
private System.ComponentModel.Container components = null;
public RelayServerResponse() :
base()
{
this.InitializeComponent();
}
private void InitializeComponent()
{
}
protected override void Dispose(bool aDisposing)
{
if (aDisposing)
{
if ((this.components != null))
{
this.components.Dispose();
}
}
base.Dispose(aDisposing);
}
public virtual void Action_Response(string SessionID, ActionFetch actionType, bool Success, string ErrorString)
{
}
public virtual void Fetch_Response(string SessionID, ActionFetch fetchType, bool Success, string ErrorString, System.Xml.XmlNode Response)
{
}
}
}

View File

@@ -0,0 +1,61 @@
//------------------------------------------------------------------------------
// <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);
}
}
}

View File

@@ -0,0 +1,207 @@
//------------------------------------------------------------------------------
// <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 System.Collections.Generic;
[RemObjects.SDK.Remotable()]
[System.Reflection.ObfuscationAttribute(Exclude=true)]
public enum ActionFetch : int {
CustomQuery = 0,
Patient = 1,
Appointment = 2,
}
[RemObjects.SDK.EventSink(Name="DataServerCallback", InvokerClass=typeof(DataServerCallback_EventSinkInvoker))]
[System.Reflection.ObfuscationAttribute(Exclude=true)]
public interface IDataServerCallback : RemObjects.SDK.IROEventSink {
void Action_Add(string SessionID, ActionFetch actionType, System.Xml.XmlNode actionParams);
void Action_Update(string SessionID, ActionFetch actionType, System.Xml.XmlNode actionParams);
void Action_Delete(string SessionID, ActionFetch actionType, System.Xml.XmlNode actionParams);
void Fetch(string SessionID, ActionFetch fetchType, System.Xml.XmlNode fetchParams);
}
[System.Reflection.ObfuscationAttribute(Exclude=true)]
public class DataServerCallback_EventSinkInvoker : RemObjects.SDK.EventSinkInvoker {
[System.Reflection.ObfuscationAttribute(Exclude=true)]
public static void Invoke_Action_Add(RemObjects.SDK.IROEventSinkHandlers @__Handlers, RemObjects.SDK.IMessage @__Message) {
RemObjects.SDK.ObjectDisposer @__ObjectDisposer = new RemObjects.SDK.ObjectDisposer(2);
try {
string SessionID = @__Message.ReadAnsiString("SessionID");
ActionFetch actionType = ((ActionFetch)(@__Message.Read("actionType", typeof(ActionFetch), RemObjects.SDK.StreamingFormat.Default)));
System.Xml.XmlNode actionParams = @__Message.ReadXml("actionParams");
@__ObjectDisposer.Add(actionType);
@__ObjectDisposer.Add(actionParams);
for (int @__i = 0; (@__i < @__Handlers.Count); @__i = (@__i + 1)) {
((IDataServerCallback)(@__Handlers[@__i])).Action_Add(SessionID, actionType, actionParams);
}
}
finally {
@__ObjectDisposer.Dispose();
}
}
[System.Reflection.ObfuscationAttribute(Exclude=true)]
public static void Invoke_Action_Update(RemObjects.SDK.IROEventSinkHandlers @__Handlers, RemObjects.SDK.IMessage @__Message) {
RemObjects.SDK.ObjectDisposer @__ObjectDisposer = new RemObjects.SDK.ObjectDisposer(2);
try {
string SessionID = @__Message.ReadAnsiString("SessionID");
ActionFetch actionType = ((ActionFetch)(@__Message.Read("actionType", typeof(ActionFetch), RemObjects.SDK.StreamingFormat.Default)));
System.Xml.XmlNode actionParams = @__Message.ReadXml("actionParams");
@__ObjectDisposer.Add(actionType);
@__ObjectDisposer.Add(actionParams);
for (int @__i = 0; (@__i < @__Handlers.Count); @__i = (@__i + 1)) {
((IDataServerCallback)(@__Handlers[@__i])).Action_Update(SessionID, actionType, actionParams);
}
}
finally {
@__ObjectDisposer.Dispose();
}
}
[System.Reflection.ObfuscationAttribute(Exclude=true)]
public static void Invoke_Action_Delete(RemObjects.SDK.IROEventSinkHandlers @__Handlers, RemObjects.SDK.IMessage @__Message) {
RemObjects.SDK.ObjectDisposer @__ObjectDisposer = new RemObjects.SDK.ObjectDisposer(2);
try {
string SessionID = @__Message.ReadAnsiString("SessionID");
ActionFetch actionType = ((ActionFetch)(@__Message.Read("actionType", typeof(ActionFetch), RemObjects.SDK.StreamingFormat.Default)));
System.Xml.XmlNode actionParams = @__Message.ReadXml("actionParams");
@__ObjectDisposer.Add(actionType);
@__ObjectDisposer.Add(actionParams);
for (int @__i = 0; (@__i < @__Handlers.Count); @__i = (@__i + 1)) {
((IDataServerCallback)(@__Handlers[@__i])).Action_Delete(SessionID, actionType, actionParams);
}
}
finally {
@__ObjectDisposer.Dispose();
}
}
[System.Reflection.ObfuscationAttribute(Exclude=true)]
public static void Invoke_Fetch(RemObjects.SDK.IROEventSinkHandlers @__Handlers, RemObjects.SDK.IMessage @__Message) {
RemObjects.SDK.ObjectDisposer @__ObjectDisposer = new RemObjects.SDK.ObjectDisposer(2);
try {
string SessionID = @__Message.ReadAnsiString("SessionID");
ActionFetch fetchType = ((ActionFetch)(@__Message.Read("fetchType", typeof(ActionFetch), RemObjects.SDK.StreamingFormat.Default)));
System.Xml.XmlNode fetchParams = @__Message.ReadXml("fetchParams");
@__ObjectDisposer.Add(fetchType);
@__ObjectDisposer.Add(fetchParams);
for (int @__i = 0; (@__i < @__Handlers.Count); @__i = (@__i + 1)) {
((IDataServerCallback)(@__Handlers[@__i])).Fetch(SessionID, fetchType, fetchParams);
}
}
finally {
@__ObjectDisposer.Dispose();
}
}
}
public interface IRelayServerResponse : RemObjects.SDK.IROService {
void Action_Response(string SessionID, ActionFetch actionType, bool Success, string ErrorString);
void Fetch_Response(string SessionID, ActionFetch fetchType, bool Success, string ErrorString, System.Xml.XmlNode Response);
}
public partial class RelayServerResponse_Proxy : RemObjects.SDK.Proxy, IRelayServerResponse {
public RelayServerResponse_Proxy(RemObjects.SDK.IMessage aMessage, RemObjects.SDK.IClientChannel aClientChannel) :
base(aMessage, aClientChannel) {
}
public RelayServerResponse_Proxy(RemObjects.SDK.IMessage aMessage, RemObjects.SDK.IClientChannel aClientChannel, string aOverrideInterfaceName) :
base(aMessage, aClientChannel, aOverrideInterfaceName) {
}
public RelayServerResponse_Proxy(RemObjects.SDK.IRemoteService aRemoteService) :
base(aRemoteService) {
}
public RelayServerResponse_Proxy(RemObjects.SDK.IRemoteService aRemoteService, string aOverrideInterfaceName) :
base(aRemoteService, aOverrideInterfaceName) {
}
protected override string @__GetInterfaceName() {
return "RelayServerResponse";
}
public virtual void Action_Response(string SessionID, ActionFetch actionType, bool Success, string ErrorString) {
RemObjects.SDK.IMessage @__LocalMessage = this.@__GetMessage();
@__LocalMessage.InitializeRequestMessage(@__ClientChannel, "RelayServer", @__GetActiveInterfaceName(), "Action_Response");
@__LocalMessage.WriteAnsiString("SessionID", SessionID);
@__LocalMessage.Write("actionType", actionType, typeof(ActionFetch), RemObjects.SDK.StreamingFormat.Default);
@__LocalMessage.WriteBoolean("Success", Success);
@__LocalMessage.WriteAnsiString("ErrorString", ErrorString);
@__LocalMessage.FinalizeMessage();
@__ClientChannel.Dispatch(@__LocalMessage);
@__LocalMessage.Clear();
}
public virtual void Fetch_Response(string SessionID, ActionFetch fetchType, bool Success, string ErrorString, System.Xml.XmlNode Response) {
RemObjects.SDK.IMessage @__LocalMessage = this.@__GetMessage();
@__LocalMessage.InitializeRequestMessage(@__ClientChannel, "RelayServer", @__GetActiveInterfaceName(), "Fetch_Response");
@__LocalMessage.WriteAnsiString("SessionID", SessionID);
@__LocalMessage.Write("fetchType", fetchType, typeof(ActionFetch), RemObjects.SDK.StreamingFormat.Default);
@__LocalMessage.WriteBoolean("Success", Success);
@__LocalMessage.WriteAnsiString("ErrorString", ErrorString);
@__LocalMessage.WriteXml("Response", Response);
@__LocalMessage.FinalizeMessage();
@__ClientChannel.Dispatch(@__LocalMessage);
@__LocalMessage.Clear();
}
}
public class CoRelayServerResponse {
public static IRelayServerResponse Create(RemObjects.SDK.IMessage aMessage, RemObjects.SDK.IClientChannel aClientChannel) {
return new RelayServerResponse_Proxy(aMessage, aClientChannel);
}
public static IRelayServerResponse Create(RemObjects.SDK.IRemoteService aRemoteService) {
return new RelayServerResponse_Proxy(aRemoteService);
}
}
public interface IRelayServerResponse_Async : RemObjects.SDK.IROService_Async {
System.IAsyncResult BeginAction_Response(string SessionID, ActionFetch actionType, bool Success, string ErrorString, System.AsyncCallback @__Callback, object @__UserData);
void EndAction_Response(System.IAsyncResult @__AsyncResult);
System.IAsyncResult BeginFetch_Response(string SessionID, ActionFetch fetchType, bool Success, string ErrorString, System.Xml.XmlNode Response, System.AsyncCallback @__Callback, object @__UserData);
void EndFetch_Response(System.IAsyncResult @__AsyncResult);
}
public partial class RelayServerResponse_AsyncProxy : RemObjects.SDK.AsyncProxy, IRelayServerResponse_Async {
public RelayServerResponse_AsyncProxy(RemObjects.SDK.IMessage aMessage, RemObjects.SDK.IClientChannel aClientChannel) :
base(aMessage, aClientChannel) {
}
public RelayServerResponse_AsyncProxy(RemObjects.SDK.IMessage aMessage, RemObjects.SDK.IClientChannel aClientChannel, string aOverrideInterfaceName) :
base(aMessage, aClientChannel, aOverrideInterfaceName) {
}
public RelayServerResponse_AsyncProxy(RemObjects.SDK.IRemoteService aRemoteService) :
base(aRemoteService) {
}
public RelayServerResponse_AsyncProxy(RemObjects.SDK.IRemoteService aRemoteService, string aOverrideInterfaceName) :
base(aRemoteService, aOverrideInterfaceName) {
}
protected override string @__GetInterfaceName() {
return "RelayServerResponse";
}
public virtual System.IAsyncResult BeginAction_Response(string SessionID, ActionFetch actionType, bool Success, string ErrorString, System.AsyncCallback @__Callback, object @__UserData) {
RemObjects.SDK.IMessage @__LocalMessage = this.@__GetMessage();
@__LocalMessage.InitializeRequestMessage(@__ClientChannel, "RelayServer", @__GetActiveInterfaceName(), "Action_Response");
@__LocalMessage.WriteAnsiString("SessionID", SessionID);
@__LocalMessage.Write("actionType", actionType, typeof(ActionFetch), RemObjects.SDK.StreamingFormat.Default);
@__LocalMessage.WriteBoolean("Success", Success);
@__LocalMessage.WriteAnsiString("ErrorString", ErrorString);
@__LocalMessage.FinalizeMessage();
return @__ClientChannel.AsyncDispatch(@__LocalMessage, @__Callback, @__UserData);
}
public virtual void EndAction_Response(System.IAsyncResult @__AsyncResult) {
RemObjects.SDK.IMessage @__LocalMessage = ((RemObjects.SDK.IClientAsyncResult)(@__AsyncResult)).Message;
@__LocalMessage.Clear();
}
public virtual System.IAsyncResult BeginFetch_Response(string SessionID, ActionFetch fetchType, bool Success, string ErrorString, System.Xml.XmlNode Response, System.AsyncCallback @__Callback, object @__UserData) {
RemObjects.SDK.IMessage @__LocalMessage = this.@__GetMessage();
@__LocalMessage.InitializeRequestMessage(@__ClientChannel, "RelayServer", @__GetActiveInterfaceName(), "Fetch_Response");
@__LocalMessage.WriteAnsiString("SessionID", SessionID);
@__LocalMessage.Write("fetchType", fetchType, typeof(ActionFetch), RemObjects.SDK.StreamingFormat.Default);
@__LocalMessage.WriteBoolean("Success", Success);
@__LocalMessage.WriteAnsiString("ErrorString", ErrorString);
@__LocalMessage.WriteXml("Response", Response);
@__LocalMessage.FinalizeMessage();
return @__ClientChannel.AsyncDispatch(@__LocalMessage, @__Callback, @__UserData);
}
public virtual void EndFetch_Response(System.IAsyncResult @__AsyncResult) {
RemObjects.SDK.IMessage @__LocalMessage = ((RemObjects.SDK.IClientAsyncResult)(@__AsyncResult)).Message;
@__LocalMessage.Clear();
}
}
}

View File

@@ -0,0 +1,70 @@
//------------------------------------------------------------------------------
// <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.Invoker()]
[System.Reflection.ObfuscationAttribute(Exclude=true)]
public class RelayServerResponse_Invoker : RemObjects.SDK.Server.Invoker {
public RelayServerResponse_Invoker() :
base() {
}
public static void Invoke_Action_Response(RemObjects.SDK.IROService @__Instance, RemObjects.SDK.IMessage @__Message, RemObjects.SDK.Server.IServerChannelInfo @__ServerChannelInfo, out RemObjects.SDK.Server.ResponseOptions @__oResponseOptions) {
RemObjects.SDK.ObjectDisposer @__ObjectDisposer = new RemObjects.SDK.ObjectDisposer(1);
try {
string SessionID = @__Message.ReadAnsiString("SessionID");
ActionFetch actionType = ((ActionFetch)(@__Message.Read("actionType", typeof(ActionFetch), RemObjects.SDK.StreamingFormat.Default)));
bool Success = @__Message.ReadBoolean("Success");
string ErrorString = @__Message.ReadAnsiString("ErrorString");
@__ObjectDisposer.Add(actionType);
((IRelayServerResponse)(@__Instance)).Action_Response(SessionID, actionType, Success, ErrorString);
@__Message.InitializeResponseMessage(@__ServerChannelInfo, "RelayServer", "RelayServerResponse", "Action_ResponseResponse");
@__Message.FinalizeMessage();
@__oResponseOptions = RemObjects.SDK.Server.ResponseOptions.roNoResponse;
}
finally {
@__ObjectDisposer.Dispose();
}
}
public static void Invoke_Fetch_Response(RemObjects.SDK.IROService @__Instance, RemObjects.SDK.IMessage @__Message, RemObjects.SDK.Server.IServerChannelInfo @__ServerChannelInfo, out RemObjects.SDK.Server.ResponseOptions @__oResponseOptions) {
RemObjects.SDK.ObjectDisposer @__ObjectDisposer = new RemObjects.SDK.ObjectDisposer(2);
try {
string SessionID = @__Message.ReadAnsiString("SessionID");
ActionFetch fetchType = ((ActionFetch)(@__Message.Read("fetchType", typeof(ActionFetch), RemObjects.SDK.StreamingFormat.Default)));
bool Success = @__Message.ReadBoolean("Success");
string ErrorString = @__Message.ReadAnsiString("ErrorString");
System.Xml.XmlNode Response = @__Message.ReadXml("Response");
@__ObjectDisposer.Add(fetchType);
@__ObjectDisposer.Add(Response);
((IRelayServerResponse)(@__Instance)).Fetch_Response(SessionID, fetchType, Success, ErrorString, Response);
@__Message.InitializeResponseMessage(@__ServerChannelInfo, "RelayServer", "RelayServerResponse", "Fetch_ResponseResponse");
@__Message.FinalizeMessage();
@__oResponseOptions = RemObjects.SDK.Server.ResponseOptions.roNoResponse;
}
finally {
@__ObjectDisposer.Dispose();
}
}
}
[RemObjects.SDK.Activator()]
[System.Reflection.ObfuscationAttribute(Exclude=true, ApplyToMembers=false)]
public class RelayServerResponse_Activator : RemObjects.SDK.Server.ServiceActivator {
public RelayServerResponse_Activator() :
base() {
}
public override RemObjects.SDK.IROService CreateInstance() {
return new RelayServerResponse();
}
}
}

View File

@@ -0,0 +1,40 @@
namespace RelayServer
{
partial class RelayService
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
//
// RelayService
//
this.ServiceName = "PlutoRelayServer";
}
#endregion
}
}

View File

@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
namespace RelayServer
{
public partial class RelayService : ServiceBase
{
public RelayService()
{
InitializeComponent();
// Log to the Application System Log
this.EventLog.Log = "Application";
}
protected override void OnStart(string[] args)
{
}
protected override void OnStop()
{
}
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0"?>
<configuration>
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>

View File

@@ -0,0 +1,9 @@
C:\Users\Administrator\Projects\Pluto\Server\Target\Debug\Pluto.RelayServer.exe.config
C:\Users\Administrator\Projects\Pluto\Server\Target\Debug\Pluto.RelayServer.exe
C:\Users\Administrator\Projects\Pluto\Server\Target\Debug\Pluto.RelayServer.pdb
C:\Users\Administrator\Projects\Pluto\Server\RelayServer\obj\x86\Debug\ResolveAssemblyReference.cache
C:\Users\Administrator\Projects\Pluto\Server\RelayServer\obj\x86\Debug\RelayServer.RelayService.resources
C:\Users\Administrator\Projects\Pluto\Server\RelayServer\obj\x86\Debug\ResGen.read.1.tlog
C:\Users\Administrator\Projects\Pluto\Server\RelayServer\obj\x86\Debug\ResGen.write.1.tlog
C:\Users\Administrator\Projects\Pluto\Server\RelayServer\obj\x86\Debug\Pluto.RelayServer.exe
C:\Users\Administrator\Projects\Pluto\Server\RelayServer\obj\x86\Debug\Pluto.RelayServer.pdb

View File

@@ -0,0 +1,9 @@
C:\Users\Administrator\Projects\Pluto\Server\Target\Release\Pluto.RelayServer.exe.config
C:\Users\Administrator\Projects\Pluto\Server\Target\Release\Pluto.RelayServer.exe
C:\Users\Administrator\Projects\Pluto\Server\Target\Release\Pluto.RelayServer.pdb
C:\Users\Administrator\Projects\Pluto\Server\RelayServer\obj\x86\Release\ResolveAssemblyReference.cache
C:\Users\Administrator\Projects\Pluto\Server\RelayServer\obj\x86\Release\RelayServer.RelayService.resources
C:\Users\Administrator\Projects\Pluto\Server\RelayServer\obj\x86\Release\ResGen.read.1.tlog
C:\Users\Administrator\Projects\Pluto\Server\RelayServer\obj\x86\Release\ResGen.write.1.tlog
C:\Users\Administrator\Projects\Pluto\Server\RelayServer\obj\x86\Release\Pluto.RelayServer.exe
C:\Users\Administrator\Projects\Pluto\Server\RelayServer\obj\x86\Release\Pluto.RelayServer.pdb