1 // Copyright 2014 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 5 #ifndef REMOTING_IOS_BRIDGE_HOST_PROXY_DELEGATE_H_ 6 #define REMOTING_IOS_BRIDGE_HOST_PROXY_DELEGATE_H_ 7 8 #import <Foundation/Foundation.h> 9 #import <UIKit/UIKit.h> 10 11 #include <vector> 12 13 #include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h" 14 15 // Contract to provide for callbacks from the common Chromoting protocol to the 16 // UI Application. 17 @protocol ClientProxyDelegate<NSObject> 18 19 // HOST request for client to input their PIN. 20 - (void)requestHostPin:(BOOL)pairingSupported; 21 22 // HOST notification that a connection has been successfully opened. 23 - (void)connected; 24 25 // HOST notification for a change in connections status. 26 - (void)connectionStatus:(NSString*)statusMessage; 27 28 // HOST notification that a connection has failed. 29 - (void)connectionFailed:(NSString*)errorMessage; 30 31 // A new Canvas (desktop) update has arrived. 32 - (void)applyFrame:(const webrtc::DesktopSize&)size 33 stride:(NSInteger)stride 34 data:(uint8_t*)data 35 regions:(const std::vector<webrtc::DesktopRect>&)regions; 36 37 // A new Cursor (mouse) update has arrived. 38 - (void)applyCursor:(const webrtc::DesktopSize&)size 39 hotspot:(const webrtc::DesktopVector&)hotspot 40 cursorData:(uint8_t*)data; 41 @end 42 43 #endif // REMOTING_IOS_BRIDGE_HOST_PROXY_DELEGATE_H_