| Index: remoting/ios/bridge/client_proxy.h
|
| diff --git a/remoting/ios/bridge/client_proxy.h b/remoting/ios/bridge/client_proxy.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8088570550f565d40c930a9a4a6d94e905f55889
|
| --- /dev/null
|
| +++ b/remoting/ios/bridge/client_proxy.h
|
| @@ -0,0 +1,62 @@
|
| +// Copyright 2014 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_BRIDGE_HOST_PROXY_H_
|
| +#define REMOTING_IOS_BRIDGE_HOST_PROXY_H_
|
| +
|
| +#include <string>
|
| +
|
| +#include <objc/objc.h>
|
| +#include "base/memory/weak_ptr.h"
|
| +#include "remoting/protocol/connection_to_host.h"
|
| +#include "third_party/webrtc/modules/desktop_capture/desktop_frame.h"
|
| +
|
| +#if defined(__OBJC__)
|
| +@class ClientProxyDelegateWrapper;
|
| +#else // __OBJC__
|
| +class ClientProxyDelegateWrapper;
|
| +#endif // __OBJC__
|
| +
|
| +namespace remoting {
|
| +
|
| +// Proxies incoming common Chromoting protocol (HOST) to the UI Application
|
| +// (CLIENT). The HOST will have a Weak reference to call member functions on
|
| +// the UI Thread.
|
| +class ClientProxy : public base::SupportsWeakPtr<ClientProxy> {
|
| + public:
|
| + ClientProxy(ClientProxyDelegateWrapper* wrapper);
|
| +
|
| + // Notifies the user of the current connection status.
|
| + void ReportConnectionStatus(protocol::ConnectionToHost::State state,
|
| + protocol::ErrorCode error);
|
| +
|
| + // Display a dialog box asking the user to enter a PIN.
|
| + void DisplayAuthenticationPrompt(bool pairing_supported);
|
| +
|
| + // Saves new pairing credentials to permanent storage.
|
| + void CommitPairingCredentials(const std::string& hostId,
|
| + const std::string& pairId,
|
| + const std::string& pairSecret);
|
| +
|
| + // Delivers the latest image buffer for the canvas.
|
| + void RedrawCanvas(const webrtc::DesktopSize& view_size,
|
| + webrtc::DesktopFrame* buffer,
|
| + const webrtc::DesktopRegion& region);
|
| +
|
| + // Updates cursor.
|
| + void UpdateCursorShape(const protocol::CursorShapeInfo& cursor_shape);
|
| +
|
| + private:
|
| + // Pointer to the UI application which implements the ClientProxyDelegate.
|
| + // (id) is similar to a (void*) |delegate_| is set from accepting a
|
| + // strongly typed @interface which wraps the @protocol ClientProxyDelegate.
|
| + // see comments for host_proxy_delegate_wrapper.h
|
| + id delegate_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(ClientProxy);
|
| +};
|
| +
|
| +} // namespace remoting
|
| +
|
| +#endif // REMOTING_IOS_BRIDGE_HOST_PROXY_H_
|
|
|