remoting_service.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Copyright 2017 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef REMOTING_IOS_FACADE_REMOTING_SERVICE_H_
  5. #define REMOTING_IOS_FACADE_REMOTING_SERVICE_H_
  6. #import "remoting/client/chromoting_client_runtime.h"
  7. @class UserInfo;
  8. @protocol RemotingAuthentication;
  9. // Eventing related keys:
  10. // User did update event name.
  11. extern NSString* const kUserDidUpdate;
  12. // Map key for UserInfo object.
  13. extern NSString* const kUserInfo;
  14. // |RemotingService| is the centralized place to ask for information about
  15. // authentication or query the remote services. It also helps deal with the
  16. // runtime and threading used in the application. |RemotingService| is a
  17. // singleton and should only be accessed via the instance property.
  18. @interface RemotingService : NSObject
  19. // Access to the singleton shared instance from this property.
  20. @property(nonatomic, readonly, class) RemotingService* instance;
  21. // The Chromoting Client Runtime, this holds the threads and other shared
  22. // resources used by the Chromoting clients
  23. @property(nonatomic, readonly) remoting::ChromotingClientRuntime* runtime;
  24. // TODO(yuweih): Make |authentication| its own singleton.
  25. // This must be set immediately after the authentication object is created. It
  26. // can only be set once.
  27. @property(nonatomic) id<RemotingAuthentication> authentication;
  28. @end
  29. #endif // REMOTING_IOS_FACADE_REMOTING_SERVICE_H_