public override IBinder OnBind(Intent intent) { var binder = new ServiceBinder(this); IsBound = true; return(binder); }
public SLH(SLHClient client, SLHWebSocketServer server) { Client = client; Server = server; Server.ReceivedMessage += HandleReceivedMessage; Client.Network.LoginProgress += HandleLoginProgress; Client.Network.LoggedOut += HandleLoggedOut; SessionId = new Guid().ToString(); // Important step JsonConvert.DefaultSettings = () => new JsonSerializerSettings { //Converters = new[] { JSONConverter }, // Pass the shared (static) converter Converters = new[] { new SLHJSONConverter() }, Error = delegate(object sender, ErrorEventArgs args) { // SERIALIZE ALL THE THINGS! args.ErrorContext.Handled = true; }, }; // Bind this class to the JSON-RPC server ServiceBinder.BindService(SessionId, this); // Set up the JSON-RPC client serializer JSONRPCSerializer = new JsonRpcSerializer(); }
public void Setup() { _container?.Dispose(); TestUtils.DeleteTestChainData(); var containerBuilder = new SimpleInjectorContainerBuilder(new ConfigManager( Path.Join(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "config2.json"), new RunOptions() )); containerBuilder.RegisterModule <BlockchainModule>(); containerBuilder.RegisterModule <ConfigModule>(); containerBuilder.RegisterModule <StorageModule>(); containerBuilder.RegisterModule <ConsensusModule>(); containerBuilder.RegisterModule <NetworkModule>(); _container = containerBuilder.Build(); _privateWallet = _container.Resolve <IPrivateWallet>(); _validatorStatusManager = _container.Resolve <IValidatorStatusManager>(); _configManager = _container.Resolve <IConfigManager>(); _transactionBuilder = _container.Resolve <ITransactionBuilder>(); ServiceBinder.BindService <GenericParameterAttributes>(); _apiService = new ValidatorServiceWeb3(_validatorStatusManager, _privateWallet, _transactionBuilder); }
public void Setup() { _container?.Dispose(); TestUtils.DeleteTestChainData(); var containerBuilder = new SimpleInjectorContainerBuilder(new ConfigManager( Path.Join(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "config2.json"), new RunOptions() )); containerBuilder.RegisterModule <BlockchainModule>(); containerBuilder.RegisterModule <ConfigModule>(); containerBuilder.RegisterModule <StorageModule>(); _container = containerBuilder.Build(); _configManager = _container.Resolve <IConfigManager>(); _stateManager = _container.Resolve <IStateManager>(); _transactionPool = _container.Resolve <ITransactionPool>(); _transactionSigner = _container.Resolve <ITransactionSigner>(); _systemContractReader = _container.Resolve <ISystemContractReader>(); _localTransactionRepository = _container.Resolve <ILocalTransactionRepository>(); _privateWallet = _container.Resolve <IPrivateWallet>(); _transactionManager = _container.Resolve <ITransactionManager>(); _validatorStatusManager = _validatorStatusManager = new ValidatorStatusManager( _transactionPool, _container.Resolve <ITransactionSigner>(), _container.Resolve <ITransactionBuilder>(), _privateWallet, _stateManager, _container.Resolve <IValidatorAttendanceRepository>(), _container.Resolve <ISystemContractReader>() ); ServiceBinder.BindService <GenericParameterAttributes>(); _fes = new FrontEndService(_stateManager, _transactionPool, _transactionSigner, _systemContractReader, _localTransactionRepository, _validatorStatusManager, _privateWallet, _transactionManager); }
public void Bind(string sessionName, AppDomain domain, List <Assembly> assList) { try { ServiceBinder.BindService(sessionName, domain: domain, assList: assList); FilterBinder.BindFilter(sessionName, domain: domain, assList: assList); } catch (Exception ex) { } }
void IServiceConnection.OnServiceConnected(ComponentName name, IBinder service) { ServiceBinder <ServiceType> serviceBinder = service as ServiceBinder <ServiceType>; if (serviceBinder == null) { return; } this.service = serviceBinder.Service; this.isBound = true; if (this.connection != null) { this.connection.OnServiceConnected(this.service, name); } }
public void Setup() { _container?.Dispose(); TestUtils.DeleteTestChainData(); var containerBuilder = new SimpleInjectorContainerBuilder(new ConfigManager( Path.Join(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "config2.json"), new RunOptions() )); containerBuilder.RegisterModule <BlockchainModule>(); containerBuilder.RegisterModule <ConfigModule>(); containerBuilder.RegisterModule <StorageModule>(); _container = containerBuilder.Build(); _configManager = _container.Resolve <IConfigManager>(); _stateManager = _container.Resolve <IStateManager>(); _contractRegisterer = _container.Resolve <IContractRegisterer>(); _privateWallet = _container.Resolve <IPrivateWallet>(); _snapshotIndexer = _container.Resolve <ISnapshotIndexRepository>(); _systemContractReader = _container.Resolve <ISystemContractReader>(); _transactionManager = _container.Resolve <ITransactionManager>(); _transactionBuilder = _container.Resolve <ITransactionBuilder>(); _transactionSigner = _container.Resolve <ITransactionSigner>(); _transactionPool = _container.Resolve <ITransactionPool>(); _blockManager = _container.Resolve <IBlockManager>(); // set chainId from config if (TransactionUtils.ChainId(false) == 0) { var chainId = _configManager.GetConfig <NetworkConfig>("network")?.ChainId; var newChainId = _configManager.GetConfig <NetworkConfig>("network")?.ChainId; TransactionUtils.SetChainId((int)chainId !, (int)newChainId !); HardforkHeights.SetHardforkHeights(_configManager.GetConfig <HardforkConfig>("hardfork") ?? throw new InvalidOperationException()); } ServiceBinder.BindService <GenericParameterAttributes>(); _apiService = new AccountServiceWeb3(_stateManager, _snapshotIndexer, _contractRegisterer, _systemContractReader, _transactionPool); _transactionApiService = new TransactionServiceWeb3(_stateManager, _transactionManager, _transactionBuilder, _transactionSigner, _transactionPool, _contractRegisterer, _privateWallet); _blockManager.TryBuildGenesisBlock(); }
/// <summary> /// Get the .proto schema associated with a service contract /// </summary> /// <remarks>This API is considered experimental and may change slightly</remarks> public string GetSchema(Type contractType) { var binderConfiguration = BinderConfiguration ?? BinderConfiguration.Default; var binder = binderConfiguration.Binder; if (!binder.IsServiceContract(contractType, out var name)) { throw new ArgumentException($"Type '{contractType.Name}' is not a service contract", nameof(contractType)); } name = ServiceBinder.GetNameParts(name, contractType, out var package); var service = new Service { Name = name }; var ops = contractType.GetMethods(BindingFlags.Public | BindingFlags.Instance); foreach (var method in ops) { if (method.DeclaringType == typeof(object)) { /* skip */ } else if (ContractOperation.TryIdentifySignature(method, binderConfiguration, out var op, null)) { service.Methods.Add( new ServiceMethod { Name = op.Name, InputType = ApplySubstitutes(op.From), OutputType = ApplySubstitutes(op.To), ClientStreaming = op.MethodType switch { MethodType.ClientStreaming => true, MethodType.DuplexStreaming => true, _ => false, },
public override IBinder OnBind(Intent intent) { binder = new ServiceBinder(this); return(binder); }
public void Bind() { ServiceBinder.BindService(Handler.DefaultSessionId(), this); }
protected override void OnServiceConnected(AboutActivity activity, ServiceBinder binder) { activity._binder = binder; activity._isBound = true; }
private BinderConfiguration(MarshallerFactory marshallerFactory, ServiceBinder binder) { MarshallerFactory = marshallerFactory; Binder = binder; }
protected JsonRpcService() { ServiceBinder.BindService(Handler.DefaultSessionId(), this); }
/// <summary> /// Routing by SessionId /// </summary> /// <param name="sessionID"></param> protected JsonRpcService(string sessionID) { ServiceBinder.BindService(sessionID, this); }
public void Bind(string sessionName, AppDomain domain, List <Assembly> list) { ServiceBinder.BindService(sessionName, AppDomain.CurrentDomain); TimingTasksBind.BindTask(domain); //绑定任务 TimingTasksBind.GetTimerManager().StartTiming(); //启动任务监听 }