diff options
Diffstat (limited to 'webapp/src/app/common/sdk.service.ts')
-rw-r--r-- | webapp/src/app/common/sdk.service.ts | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/webapp/src/app/common/sdk.service.ts b/webapp/src/app/common/sdk.service.ts new file mode 100644 index 0000000..3f2f32a --- /dev/null +++ b/webapp/src/app/common/sdk.service.ts @@ -0,0 +1,43 @@ +import { Injectable, SecurityContext } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; +import { BehaviorSubject } from 'rxjs/BehaviorSubject'; + +import { XDSServerService } from "../common/xdsserver.service"; + +export interface ISdk { + id: string; + profile: string; + version: string; + arch: number; + path: string; +} + +@Injectable() +export class SdkService { + public Sdks$: Observable<ISdk[]>; + + private _sdksList = []; + private current: ISdk; + private sdksSubject = <BehaviorSubject<ISdk[]>>new BehaviorSubject(this._sdksList); + + constructor(private xdsSvr: XDSServerService) { + this.current = null; + this.Sdks$ = this.sdksSubject.asObservable(); + + this.xdsSvr.getSdks().subscribe((s) => { + this._sdksList = s; + this.sdksSubject.next(s); + }); + } + + public setCurrent(s: ISdk) { + this.current = s; + } + + public getCurrentId(): string { + if (this.current && this.current.id) { + return this.current.id; + } + return ""; + } +}
\ No newline at end of file |