<commit_before>//
//  DHIDeviceService.h
//  DeviceHiveDevice
//
//  Created by <NAME> on 11/07/12.
//  Copyright (c) 2012 DataArt. All rights reserved.
//

#import <Foundation/Foundation.h>

@class DHCommand;
@class DHCommandResult;
@protocol DHDeviceService;

/**
 Completion block which is invoked by the command executor after given command is executed.
 @param result DHCommandResult object representing command result
 */
typedef void (^DHCommandCompletionBlock)(DHCommandResult* result);


/**
 `DHCommandExecutor` protocol defines common interface for classes which are able to execute commands represented by DHCommand class.
 These are DHDevice and DHEquipment classes.
 */
@protocol DHCommandExecutor <NSObject>

/** Check if the executor should execute the given command.
 @param command DHCommand instance to be executed
 @return YES if the command should be executed(leads to subsequent `executeCommand:(DHCommand*)command
 completion:(DHCommandCompletionBlock)completion` method call), otherwise return NO. If this methods returns NO the command won't be executed
 */
- (BOOL)shouldExecuteCommand:(DHCommand*)command;

/** Execute the given command.
 @param command DHCommand instance to be executed
 @param completion Completion block to be invoked when command execution is finished
 */
- (void)executeCommand:(DHCommand*)command
            completion:(DHCommandCompletionBlock)completion;

@end<commit_msg>One more minor documentation fix.<commit_after>//
//  DHIDeviceService.h
//  DeviceHiveDevice
//
//  Created by <NAME> on 11/07/12.
//  Copyright (c) 2012 DataArt. All rights reserved.
//

#import <Foundation/Foundation.h>

@class DHCommand;
@class DHCommandResult;
@protocol DHDeviceService;

/**
 Completion block which is invoked by the command executor after given command is executed.
 @param result DHCommandResult object representing command result
 */
typedef void (^DHCommandCompletionBlock)(DHCommandResult* result);


/**
 `DHCommandExecutor` protocol defines common interface for classes which are able to execute commands represented by DHCommand class.
 These are DHDevice and DHEquipment classes.
 */
@protocol DHCommandExecutor <NSObject>

/** Check if the executor should execute the given command.
 @param command DHCommand instance to be executed
 @return YES if the command should be executed(leads to subsequent `executeCommand:(DHCommand*)command
 completion:(DHCommandCompletionBlock)completion` method call), otherwise return NO. If this methods returns NO the command won't be executed
 */
- (BOOL)shouldExecuteCommand:(DHCommand*)command;

/** Execute the given command.
 You *MUST* call completion block in the end of your implementation
 @param command DHCommand instance to be executed
 @param completion Completion block to be invoked when command execution is finished
 */
- (void)executeCommand:(DHCommand*)command
            completion:(DHCommandCompletionBlock)completion;

@end
{'fraction_non_alphanumeric': 0.07862491490810075, 'fraction_numerical': 0.0068073519400953025, 'mean_word_length': 5.0473251028806585, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '136614', 'n_tokens_mistral': 792, 'n_tokens_neox': 721, 'n_words': 302}