blob: a1d071d6e6a10bb928425b9765252356e33b66c2 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef REMOTING_IOS_FACADE_REMOTING_SERVICE_H_
#define REMOTING_IOS_FACADE_REMOTING_SERVICE_H_
#import "remoting/client/chromoting_client_runtime.h"
@class UserInfo;
@protocol RemotingAuthentication;
// Eventing related keys:
// User did update event name.
extern NSString* const kUserDidUpdate;
// Map key for UserInfo object.
extern NSString* const kUserInfo;
// |RemotingService| is the centralized place to ask for information about
// authentication or query the remote services. It also helps deal with the
// runtime and threading used in the application. |RemotingService| is a
// singleton and should only be accessed via the instance property.
@interface RemotingService : NSObject
// Access to the singleton shared instance from this property.
@property(nonatomic, readonly, class) RemotingService* instance;
// The Chromoting Client Runtime, this holds the threads and other shared
// resources used by the Chromoting clients
@property(nonatomic, readonly) remoting::ChromotingClientRuntime* runtime;
// TODO(yuweih): Make |authentication| its own singleton.
// This must be set immediately after the authentication object is created. It
// can only be set once.
@property(nonatomic) id<RemotingAuthentication> authentication;
@end
#endif // REMOTING_IOS_FACADE_REMOTING_SERVICE_H_