RobotKit API
|
00001 // 00002 // RKDeviceConnection.h 00003 // RobotKit 00004 // 00005 // Copyright 2010 Orbotix Inc. All rights reserved. 00006 // 00007 00008 #import <Foundation/Foundation.h> 00009 00012 @class RKDeviceConnection; 00013 @class RKRobot; 00014 @class RKDeviceSession; 00015 @protocol RKDeviceConnectionDelegate; 00016 00017 00022 enum RKConnectionState { 00023 RKConnectionStateOffline, 00024 RKConnectionStateJumpMainApp, 00025 RKConnectionStateJumpToBootloader, 00026 RKConnectionStateMainAppCorrupt, 00027 RKConnectionStateJumpToBootloaderFailed, 00028 RKConnectionStatePing1, 00029 RKConnectionStatePing2, 00030 RKConnectionStateGetBluetoothInfo, 00031 RKConnectionStateOnline 00032 }; 00033 00035 typedef enum RKConnectionState RKConnectionState; 00036 00047 @interface RKDeviceConnection : NSObject { 00048 @private 00049 00050 RKRobot *robot; 00051 00052 RKDeviceSession *session; 00053 00054 NSNumber *responseTime; 00055 00056 RKConnectionState connectionState; 00057 BOOL startInBootloader; 00058 } 00059 00061 //@property (nonatomic, assign) id<RKDeviceConnectionDelegate> delegate; 00063 @property (nonatomic, readonly) RKRobot *robot; 00065 @property (nonatomic, assign) NSNumber *responseTime; 00067 @property (nonatomic, readonly) NSUInteger packetsSent; 00069 @property (nonatomic, readonly) NSUInteger packetsReceived; 00071 @property (nonatomic, readonly) RKConnectionState connectionState; 00076 @property (nonatomic, assign) BOOL startInBootloader; 00077 00082 - (id)initWithRobot:(RKRobot *)aRobot; 00083 00090 - (void)open; 00091 00095 - (void)close; 00096 00097 @end 00098 00103 extern NSString * const RKDeviceConnectionOnlineNotification; 00108 extern NSString * const RKDeviceConnectionOfflineNotification; 00113 extern NSString * const RKDeviceConnectionMainAppCorruptNotification;