summaryrefslogtreecommitdiff
path: root/SmartDeviceLink/SDLProtocolMessageAssembler.h
diff options
context:
space:
mode:
Diffstat (limited to 'SmartDeviceLink/SDLProtocolMessageAssembler.h')
-rw-r--r--SmartDeviceLink/SDLProtocolMessageAssembler.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/SmartDeviceLink/SDLProtocolMessageAssembler.h b/SmartDeviceLink/SDLProtocolMessageAssembler.h
new file mode 100644
index 000000000..3c793f441
--- /dev/null
+++ b/SmartDeviceLink/SDLProtocolMessageAssembler.h
@@ -0,0 +1,22 @@
+// SDLSmartDeviceLinkProtocolMessageAssembler.h
+//
+
+#import <Foundation/Foundation.h>
+
+@class SDLProtocolMessage;
+
+
+typedef void (^SDLMessageAssemblyCompletionHandler)(BOOL done, SDLProtocolMessage *assembledMessage);
+
+
+@interface SDLProtocolMessageAssembler : NSObject
+
+@property (assign, readonly) UInt8 sessionID;
+@property (assign) UInt32 frameCount; // number of consecutive frames required for reassembly
+@property (assign) UInt32 expectedBytes;
+@property (strong) NSMutableDictionary *parts;
+
+- (instancetype)initWithSessionID:(UInt8)sessionID;
+- (void)handleMessage:(SDLProtocolMessage *)message withCompletionHandler:(SDLMessageAssemblyCompletionHandler)completionHandler;
+
+@end