//
//  MCPortsDeamonDefines.h
//  MCClientServer
//
//  Created by Thomas Bartelmess on 02.03.10.
//  Copyright 2010 Marketcircle Inc. All rights reserved.
//


#import <MCCloud/MCCloud.h>

extern NSString * kMCPortsdMappingDictLocalPortKey;
extern NSString * kMCPortsdMappingDictExternalPortKey;
extern NSString * kMCPortsdMappingDictProtocolKey;
extern NSString * kMCPortsdMappingDictDescription;

extern NSString * kMCCloudKeychainFileName;

extern NSString * kMCPortsdNewExternalIPNotification;
extern NSString * kMCPortsdPortMappingStateChanged;
extern NSString * kMCPortsdIPUpdateError;
extern NSString * kMCPortsdIPUpdateSuccessful;

extern NSString * kMCPortsdStatesDictMappingStateKey;
extern NSString * kMCPortsdStatesDictReachabilityStateKey;

extern NSString * kMCPortsdErrorDomain;

#define kMCCloudManualIPUpdateInterval 5.0*60.0 //All 5 minutes 

typedef enum {
	MCPortsdOperationModeAutomatic,
	MCPortsdOperationModeManual,
} MCPortsdOperationMode;


typedef enum {
	MCPortsdServerReachabilityStateUnknown,
	MCPortsdServerReachabilityStateConnectable,
	MCPortsdServerReachabilityStateNotConnectable,
	MCPortsdServerReachabilityStatePortsTaken
} MCPortsdServerReachabilityState;

