public CswNbtBalanceReturn listConnectedBalances() { //delegate has to be static because you can't create an instance yet: you don't have resources until the delegate is actually called CswNbtBalanceReturn Ret = new CswNbtBalanceReturn(); var SvcDriver = new CswWebSvcDriver <CswNbtBalanceReturn, object>( CswWebSvcResourceInitializer: new CswWebSvcResourceInitializerNbt(_Context, null), ReturnObj: Ret, WebSvcMethodPtr: CswNbtWebServiceSerialBalance.listConnectedBalances, ParamObj: null ); SvcDriver.run(); return(Ret); }
public CswNbtBalanceReturn getBalanceInformation(string NodeId) { //delegate has to be static because you can't create an instance yet: you don't have resources until the delegate is actually called CswNbtBalanceReturn Ret = new CswNbtBalanceReturn(); var SvcDriver = new CswWebSvcDriver <CswNbtBalanceReturn, string>( CswWebSvcResourceInitializer: new CswWebSvcResourceInitializerNbt(_Context, null), ReturnObj: Ret, WebSvcMethodPtr: CswNbtWebServiceSerialBalance.getBalanceInformation, ParamObj: NodeId ); SvcDriver.run(); return(Ret); }
public CswNbtBalanceReturn registerBalanceConfiguration(BalanceConfiguration Request) { //delegate has to be static because you can't create an instance yet: you don't have resources until the delegate is actually called CswNbtBalanceReturn Ret = new CswNbtBalanceReturn(); var SvcDriver = new CswWebSvcDriver <CswNbtBalanceReturn, BalanceConfiguration>( CswWebSvcResourceInitializer: new CswWebSvcResourceInitializerNbt(_Context, null), ReturnObj: Ret, WebSvcMethodPtr: CswNbtWebServiceSerialBalance.registerBalanceConfiguration, ParamObj: Request ); SvcDriver.run(); return(Ret); }
}//refreshHardwareList() /// <summary> /// Query NBT for a list of balance configurations already defined on the server /// </summary> public void refreshConfigurationList() { //define how to update UI when the authentication attempt resolves NbtAuth.SessionCompleteEvent fetchConfigurations = delegate(NbtPublicClient Client) { CswNbtBalanceReturn ReceivedConfigurations = Client.ListBalanceConfigurations(); string StatusText = ReceivedConfigurations.Authentication.AuthenticationStatus; if ("Authenticated" == StatusText) { Dictionary <string, BalanceConfiguration> NewConfigurationList = new Dictionary <string, BalanceConfiguration>(); foreach (BalanceConfiguration Item in ReceivedConfigurations.Data.ConfigurationList) { NewConfigurationList.Add(Item.Name, Item); } if (false == NewConfigurationList.SequenceEqual(_configurationList)) {//only refresh the grid and pick lists if the configuration choices have changed _configurationList = NewConfigurationList; ConfigurationsGrid.BeginInvoke((Action)(_refreshConfigurationOptions)); } } //if( "Authenticated" == StatusText ) //really annoying edge case first time program is loaded else if ("Object reference not set to an instance of an object." == StatusText || "Invalid URI: The format of the URI could not be determined." == StatusText) { ConnectionResultsOutput.Invoke((Action)(() => { ConnectionResultsOutput.Text += "Please provide connection details for ChemSW Live.\r\n"; })); tabControl1.BeginInvoke((Action)(() => { tabControl1.SelectedTab = NBTTab; })); } else if ("NonExistentSession" != StatusText) { ConnectionResultsOutput.Invoke((Action)(() => { ConnectionResultsOutput.Text += "Connection Error: " + StatusText + "\r\n"; })); tabControl1.BeginInvoke((Action)(() => { tabControl1.SelectedTab = NBTTab; })); } return(StatusText); };//SessionCompleteEvent fetchConfigurations //Perform a test connection asynchronously, using the managed thread pool BackgroundWorker GetConfigurations = new BackgroundWorker(); GetConfigurations.DoWork += _authenticationClient.PerformActionAsync; GetConfigurations.RunWorkerAsync(fetchConfigurations); }//refreshConfigurationList()