Skip to content
Snippets Groups Projects
CISDOBShared.h 1.9 KiB
Newer Older
  • Learn to ignore specific revisions
  • cramakri's avatar
    cramakri committed
    /*
     * Copyright 2012 ETH Zuerich, CISD
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *      http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    //
    //  CISDOBShared.h
    //  BisMac
    //
    //  Created by cramakri on 28.08.12.
    //
    //
    
    //
    // Shared declarations.
    //
    
    //! A block that is invoked when the call succeeds
    typedef void (^SuccessBlock)(id result);
    
    //! A block that is invoked when the call fails
    typedef void (^FailBlock)(NSError* error);
    
    //
    // Errors
    // 
    
    //! The error domain for errors in the JSON-RPC layer
    FOUNDATION_EXPORT NSString *const CISOBJsonRpcErrorDomain;
    
    //! The key in the error userInfo dictionary that contains the JSON-RPC error object
    FOUNDATION_EXPORT NSString *const CISOBJsonRpcErrorObjectKey;
    
    //! The key in the error userInfo dictionary that contains the JSON-RPC response object
    FOUNDATION_EXPORT NSString *const CISOBJsonRpcResponseObjectKey;
    
    enum CISOBJsonRpcErrorCode {
        kCISOBJsonRpcError_CouldNotConnectToServer = 1,
        kCISOBJsonRpcError_CouldNotSerializeRequestToJson = 2,    
        kCISOBJsonRpcError_CouldNotParseResponse = 3,
        
        //! The userInfo dictionary of the error includes the key
        //!   CISOBJsonRpcResponseObjectKey -> the entire response object
        kCISOBJsonRpcError_UnknownResponse = 4,
    
        //! The userInfo dictionary of the error includes the keys 
        //!   CISOBJsonRpcResponseObjectKey -> the entire response object 
        //!   CISOBJsonRpcErrorObjectKey -> the error object
        kCISOBJsonRpcError_CallReturnedError = 5,
    };