This commit is contained in:
syuilo
2018-07-11 09:36:30 +09:00
parent e32bf34830
commit eb392b1251
6 changed files with 100 additions and 2 deletions

View File

@ -0,0 +1,34 @@
import Stream from './stream';
import StreamManager from './stream-manager';
import MiOS from '../../../mios';
/**
* Hybrid timeline stream connection
*/
export class HybridTimelineStream extends Stream {
constructor(os: MiOS, me) {
super(os, 'hybrid-timeline', {
i: me.token
});
}
}
export class HybridTimelineStreamManager extends StreamManager<HybridTimelineStream> {
private me;
private os: MiOS;
constructor(os: MiOS, me) {
super();
this.me = me;
this.os = os;
}
public getConnection() {
if (this.connection == null) {
this.connection = new HybridTimelineStream(this.os, this.me);
}
return this.connection;
}
}

View File

@ -15,6 +15,7 @@ import { ReversiStreamManager } from './common/scripts/streaming/games/reversi';
import Err from './common/views/components/connect-failed.vue';
import { LocalTimelineStreamManager } from './common/scripts/streaming/local-timeline';
import { HybridTimelineStreamManager } from './common/scripts/streaming/hybrid-timeline';
import { GlobalTimelineStreamManager } from './common/scripts/streaming/global-timeline';
//#region api requests
@ -103,6 +104,7 @@ export default class MiOS extends EventEmitter {
*/
public streams: {
localTimelineStream: LocalTimelineStreamManager;
hybridTimelineStreamManager: HybridTimelineStreamManager;
globalTimelineStream: GlobalTimelineStreamManager;
driveStream: DriveStreamManager;
serverStatsStream: ServerStatsStreamManager;
@ -111,6 +113,7 @@ export default class MiOS extends EventEmitter {
reversiStream: ReversiStreamManager;
} = {
localTimelineStream: null,
hybridTimelineStreamManager: null,
globalTimelineStream: null,
driveStream: null,
serverStatsStream: null,
@ -230,6 +233,7 @@ export default class MiOS extends EventEmitter {
// Init other stream manager
this.streams.localTimelineStream = new LocalTimelineStreamManager(this, this.store.state.i);
this.streams.hybridTimelineStreamManager = new HybridTimelineStreamManager(this, this.store.state.i);
this.streams.globalTimelineStream = new GlobalTimelineStreamManager(this, this.store.state.i);
this.streams.driveStream = new DriveStreamManager(this, this.store.state.i);
this.streams.messagingIndexStream = new MessagingIndexStreamManager(this, this.store.state.i);