-
Notifications
You must be signed in to change notification settings - Fork 895
/
Copy pathShareApplicationContext.swift
55 lines (41 loc) · 1.42 KB
/
ShareApplicationContext.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//
// ShareApplicationContext.swift
// Telegram
//
// Created by keepcoder on 28/03/2017.
// Copyright © 2017 Telegram. All rights reserved.
//
import Cocoa
import TGUIKit
import TelegramCore
import Postbox
import SwiftSignalKit
let telegramAccountAuxiliaryMethods = AccountAuxiliaryMethods(fetchResource: { account, resource, range, _ in
return nil
}, fetchResourceMediaReferenceHash: { resource in
return .single(nil)
}, prepareSecretThumbnailData: { _ in
return nil
}, backgroundUpload: { _,_,_ in
return .single(nil)
})
final class UnauthorizedApplicationContext {
let account: UnauthorizedAccount
let rootController: SEUnauthorizedViewController
init( account: UnauthorizedAccount, context: NSExtensionContext) {
self.account = account
self.rootController = SEUnauthorizedViewController(cancelImpl: {
let cancelError = NSError(domain: NSCocoaErrorDomain, code: NSUserCancelledError, userInfo: nil)
context.cancelRequest(withError: cancelError)
})
}
}
class AuthorizedApplicationContext {
let context: AccountContext
let rootController: SESelectController
init(context: AccountContext, shareContext: NSExtensionContext) {
self.context = context
self.rootController = SESelectController(ShareObject(context, shareContext))
context.account.network.shouldKeepConnection.set(.single(true))
}
}