1 import { Injectable, SecurityContext } from '@angular/core';
2 import { Observable } from 'rxjs/Observable';
3 import { BehaviorSubject } from 'rxjs/BehaviorSubject';
5 import { XDSAgentService } from '../services/xdsagent.service';
7 import 'rxjs/add/observable/throw';
9 export interface ISdk {
18 export class SdkService {
19 public Sdks$: Observable<ISdk[]>;
21 private _sdksList = [];
22 private current: ISdk;
23 private sdksSubject = <BehaviorSubject<ISdk[]>>new BehaviorSubject(this._sdksList);
25 constructor(private xdsSvr: XDSAgentService) {
27 this.Sdks$ = this.sdksSubject.asObservable();
29 this.xdsSvr.XdsConfig$.subscribe(cfg => {
30 if (!cfg || cfg.servers.length < 1) {
33 // FIXME support multiple server
34 // cfg.servers.forEach(svr => {
35 this.xdsSvr.getSdks(cfg.servers[0].id).subscribe((s) => {
37 this.sdksSubject.next(s);
42 public setCurrent(s: ISdk) {
46 public getCurrent(): ISdk {
50 public getCurrentId(): string {
51 if (this.current && this.current.id) {
52 return this.current.id;
57 public add(sdk: ISdk): Observable<ISdk> {
59 return Observable.throw('Not implement yet');
62 public delete(sdk: ISdk): Observable<ISdk> {
64 return Observable.throw('Not implement yet');