|  | // OCCukes OCCucumberRuntime+WireProtocol.h | 
|  | // | 
|  | // Copyright © 2012, 2013, The OCCukes Organisation. All rights reserved. | 
|  | // | 
|  | // Permission is hereby granted, free of charge, to any person obtaining a copy | 
|  | // of this software and associated documentation files (the “Software”), to deal | 
|  | // in the Software without restriction, including without limitation the rights | 
|  | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | 
|  | // copies of the Software, and to permit persons to whom the Software is | 
|  | // furnished to do so, subject to the following conditions: | 
|  | // | 
|  | //	The above copyright notice and this permission notice shall be included in | 
|  | //	all copies or substantial portions of the Software. | 
|  | // | 
|  | // THE SOFTWARE IS PROVIDED “AS IS,” WITHOUT WARRANTY OF ANY KIND, EITHER | 
|  | // EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | 
|  | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO | 
|  | // EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES | 
|  | // OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | 
|  | // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 
|  | // DEALINGS IN THE SOFTWARE. | 
|  | // | 
|  | //------------------------------------------------------------------------------ | 
|  |  | 
|  | #import "OCCucumberRuntime.h" | 
|  |  | 
|  | extern NSString *const OCCucumberRuntimeUnhandledStepNotification; | 
|  | extern NSString *const OCCucumberRuntimeUnhandledStepNameKey; | 
|  |  | 
|  | @interface OCCucumberRuntime(WireProtocol) | 
|  |  | 
|  | - (id)handleWirePacketWithObject:(id)object; | 
|  | - (id)handleWirePacketWithArray:(NSArray *)array; | 
|  |  | 
|  | /** | 
|  | * Finds out whether the wire server has a definition for a given step. | 
|  | * | 
|  | * When features have been parsed, Cucumber will send a "step_matches" | 
|  | * message to ask the wire server if it can match a step name. This happens for | 
|  | * each of the steps in each of the features. | 
|  | * | 
|  | * @result The wire server replies with an array of Step Match objects. | 
|  | * Each Step Match hash element comprises the following key-value pairs. | 
|  | * - An "id" string identifier for the step definition to be referenced later | 
|  | *   when it needs to be invoked. The identifier can be any string value and is | 
|  | *   simply used for wire server's own reference. | 
|  | * - An "args" array for any argument values captured by the wire end's own | 
|  | *   regular expression (or other argument matching) process. | 
|  | */ | 
|  | - (id)handleStepMatchesWithHash:(NSDictionary *)hash; | 
|  |  | 
|  | /** | 
|  | * Requests a snippet for an undefined step. | 
|  | */ | 
|  | - (id)handleSnippetTextWithHash:(NSDictionary *)hash; | 
|  |  | 
|  | /** | 
|  | * Signals that Cucumber is about to execute a scenario. | 
|  | */ | 
|  | - (id)handleBeginScenario; | 
|  |  | 
|  | /** | 
|  | * Signals that Cucumber has finished executing a scenario. | 
|  | */ | 
|  | - (id)handleEndScenario; | 
|  |  | 
|  | /** | 
|  | * Asks for a step definition to be invoked. | 
|  | */ | 
|  | - (id)handleInvokeWithHash:(NSDictionary *)hash; | 
|  |  | 
|  | @end |