member_webapp/@overflow/discovery/service/discovery.service.ts
crusader d59d9379f9 ing
2018-05-24 15:44:13 +09:00

43 lines
1.4 KiB
TypeScript

import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { RPCService } from '@loafer/ng-rpc';
import {
DiscoveryStartInfo,
DiscoverZone as MDDiscoverZone,
DiscoverHost as MDDiscoverHost,
DiscoverPort as MDDiscoverPort,
DiscoverService as MDDiscoverService,
Zone,
Host,
Port,
Service,
} from '@overflow/commons-typescript/model/discovery';
@Injectable()
export class DiscoveryService {
public constructor(
private rpcService: RPCService,
) {
}
public start(dsInfo: DiscoveryStartInfo): Observable<DiscoveryStartInfo> {
return this.rpcService.call('DiscoveryService.startDiscovery', dsInfo);
}
public discoverZone(probeID: string, discoverZone: MDDiscoverZone): void {
this.rpcService.send('DiscoveryService.discoverZone', probeID, discoverZone);
}
public discoverHost(probeID: string, zone: Zone, discoverHost: MDDiscoverHost): void {
this.rpcService.send('DiscoveryService.discoverHost', probeID, zone, discoverHost);
}
public discoverPort(probeID: string, host: Host, discoverPort: MDDiscoverPort): void {
this.rpcService.send('DiscoveryService.discoverPort', probeID, host, discoverPort);
}
public discoverService(probeID: string, port: Port, discoverService: MDDiscoverService): void {
this.rpcService.send('DiscoveryService.discoverService', probeID, port, discoverService);
}
}