mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-08-27 22:07:07 +00:00
32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import type ObsidianLiveSyncPlugin from "@/main";
|
|
import type { App, Plugin } from "@/deps";
|
|
import { ServiceContext } from "@vrtmrz/livesync-commonlib/context";
|
|
import { eventHub } from "@/common/events";
|
|
import { translateLiveSyncMessage } from "@/common/translation";
|
|
import type { ObsidianNoticeGroups } from "./ObsidianNoticeGroups";
|
|
import type { KeyedNoticeManager } from "@vrtmrz/obsidian-plugin-kit/notice";
|
|
|
|
/** Host capabilities owned by one Self-hosted LiveSync plug-in instance. */
|
|
export class ObsidianServiceContext extends ServiceContext {
|
|
app: App;
|
|
plugin: Plugin;
|
|
liveSyncPlugin: ObsidianLiveSyncPlugin;
|
|
readonly notices: KeyedNoticeManager;
|
|
readonly noticeGroups: ObsidianNoticeGroups;
|
|
|
|
constructor(
|
|
app: App,
|
|
plugin: Plugin,
|
|
liveSyncPlugin: ObsidianLiveSyncPlugin,
|
|
notices: KeyedNoticeManager,
|
|
noticeGroups: ObsidianNoticeGroups
|
|
) {
|
|
super({ events: eventHub, translate: translateLiveSyncMessage });
|
|
this.app = app;
|
|
this.plugin = plugin;
|
|
this.liveSyncPlugin = liveSyncPlugin;
|
|
this.notices = notices;
|
|
this.noticeGroups = noticeGroups;
|
|
}
|
|
}
|