/*
 * Created on 2005. 7. 10.
 *
 */
package com.eactive.eai.adapter.socket2.config;

/** 
* 1. 기능 : Socket Adapter의 구성정보를 지정하기 위한 property의 KEY값을 나타낸다.
* 2. 처리 개요 : 
*     - 
* 3. 주의사항 
*
* @param 
* @return 
* @exception
**/
public interface Constants {
	
	//public static final String	ADAPTER_NAME		= "adapter.name";
    
    /**
     * Socket Adapter의 Adapter Group명을 나타낸는 KEY값
     */
	public static final String 	ADAPTER_GROUP_NAME		= "adapter.group.name";
	
	
	/**
	 * protocol  [FIXED_LENGTH_HEADER|CISCO|XECURE|CERT|ADMIN|HTTP]
	 */
	public static final String PROTOCOL             	= "protocol";
	
	
    /**
     * Socket Adapter가 INBOUND/OUTBOUND/IOBOUND용인지 나타내기위한 KEY값
     */
    public static final String	BOUND_USAGE				= "bound.usage";	
    
    /**
     * Socket Adapter의 SOCKET유형이 [SERVER|CLIENT]에 구분을 나타
     */		
	public static final String	SOCKET_TYPE					= "socket.type";
	public static final String  PERMANENT					= "permanent";
	public static final String  BLOCKING 					= "blocking";
	public static final String  POLLING_TYPE        		= "polling.type";
	public static final String	HOST_NAME					= "host.name";
	public static final String	HOST_NAME_DR					= "host.name.dr";
	public static final String 	PORT_NUMBER					= "port.number";
	public static final String 	PORT_NUMBER_DR					= "port.number.dr";
	public static final String	LOCAL_HOST_NAME				= "local.host.name";
	public static final String	LOCAL_PORT_NUMBER			= "local.port.number";
	public static final String	CONN_LIMIT_PER_IP			= "connection.limit.per.ip";
	public static final String	MAX_CONNECTION				= "max.connection";
	public static final String	MAX_THREAD					= "max.thread";
	public static final String	TIMEOUT						= "timeout";
	public static final String	IDLE_TIMEOUT				= "idle.timeout";
	public static final String	RESPONSE_TYPE				= "response.type";
	public static final String	SOCKET_REUSE				= "socket.reuse";
	
	public static final String	LL_FIELD_TYPE				= "ll.field.type";    // [BIN|CHAR|CISCO]
	public static final String	LL_FIELD_LENGTH				= "ll.field.length";
	public static final String  LL_FIELD_OFFSET     		= "ll.field.offset";
	public static final String  LL_FIELD_INCLUDE    		= "ll.field.include";
	public static final String  LL_OFFSET_EXCLUDE   		= "ll.offset.exclude";
	public static final String  LL_INCLUDE          		= "ll.include";
	
	public static final String  LL_LENGTH_ADJUST    		= "ll.length.adjust";
	
	public static final String	SEND_HEADER_LENGTH			= "send.header.length";  // 2012.10.30 Kwon Se Hwan
	public static final String	RECV_HEADER_LENGTH			= "recv.header.length";  // 2012.10.30 Kwon Se Hwan 
    
	public static final String	SEND_PAYLOAD_LENGTH			= "send.payload.length";
	public static final String	RECV_PAYLOAD_LENGTH			= "recv.payload.length";

	public static final String	ACK_SUPPORT 				= "ack.support";
    public static final String	VALIDATION_RULE				= "validation.rule";
    public static final String	DATACONTROL_RULE			= "datacontrol.rule";
    public static final String	ACL_LIST					= "acl.list";
    public static final String	WORK_CLASS_CODE				= "business.work.class.code";
	public static final String	TRACE_LEVEL					= "trace.level";
	public static final String	DESCRIPTION					= "description";	
	
	public static final String  POLLING_USE             	= "polling.use";
	public static final String  POLLING_ROLE            	= "polling.role";
	public static final String  POLLING_ONEWAY          	= "polling.oneway";
	public static final String  POLLING_TIMEOUT         	= "polling.timeout";
	public static final String  POLLING_REQUEST         	= "polling.request";
	public static final String  POLLING_REQUEST_PATTERN 	= "polling.request.pattern";
	public static final String  POLLING_REPLACEMENT     	= "polling.replacement";
	public static final String  POLLING_RESPONSE_PATTERN  	= "polling.response.pattern";
	
	public static final String  INIT_MSG_USE             	= "init.msg.use";
	public static final String  INIT_MSG_ROLE            	= "init.msg.role";
	public static final String  INIT_MSG_REQUEST         	= "init.msg.request";
	public static final String  INIT_MSG_REQUEST_PATTERN 	= "init.msg.request.pattern";
	public static final String  INIT_MSG_REPLACEMENT     	= "init.msg.replacement";
	public static final String  INIT_MSG_RESPONSE_PATTERN  	= "init.msg.response.pattern";
	
	public static final String  SSL_USE				    	= "ssl.use";
	public static final String  SSL_CERT_STORE		    	= "ssl.cert.store";
	public static final String  SSL_CERT_PASSWORD	    	= "ssl.cert.password";

	public static final String  DES_USE				    	= "des.use";

	public static final String  SEED_USE					= "seed.use";
		
	/**
	 * inisafe
	 */
	public static final String	INISAFE_CONFIG_PATH	    		= "inisafe.config.path";
	public static final String	INISAFE_RELATED_ADAPTER_GROUPS	= "inisafe.related.adapter.groups";
	public static final String	INISAFE_START_MESSAGE	    	= "inisafe.start.message";
	public static final String	INISAFE_STOP_MESSAGE	    	= "inisafe.stop.message";
	
	/**
	 * inisafe_payload 20100515 JGY
	 */
	public static final String	INISAFE_ID_PASSWORD	    		= "inisafe.id.password";
	
	/**
	 * SMS running time
	 */
	public static final String SMS_RUNNING_TIME					= "sms.running.time";
	

	/**
	 * xecure
	 */
	public static final String	XECURE_TYPE			    		= "xecure.type";
	public static final String	XECURE_CONFIG_PATH	    		= "xecure.config.path";
	public static final String	XECURE_REMOTE_CERT      		= "xecure.remote.cert";
	
	/**
	 * xecure2
	 */
	public static final String XECURE2_CONFIG_PATH				= "xecure2.config.path";
	public static final String XECURE2_SM_IP					= "xecure2.sm.ip";
	public static final String XECURE2_SM_PORT					= "xecure2.sm.port";
	
	
	/**
	 * xecure3  20100901 JGY
	 */
	public static final String XECURE3_CERT_STORE				= "xecure3.cert.store";
	public static final String XECURE3_SERVER_CERT				= "xecure3.server.cert";
	public static final String XECURE3_CLIENT_CERT				= "xecure3.client.cert";
	public static final String XECURE3_CERT_KEY					= "xecure3.cert.key";
	public static final String XECURE3_CERT_PASSWORD			= "xecure3.cert.password";
	
	/**
	 * xecure3  20210929 epb
	 */
	public static final String XC3EPB_PASSWORD   				= "xc3epb.password";
	public static final String XC3EPB_CONFIG_PATH				= "xc3epb.config.path";
	
	/**
	 * envelop
	 */
	public static final String ENVELOP_SIGNCERT_PATH			= "envelop.signcert.path";
	public static final String ENVELOP_SIGNKEY_PATH		    	= "envelop.signkey.path";
	public static final String ENVELOP_PASSWORD     			= "envelop.password";
	
	/**
	 * tcseed 20101213 JGY
	 */
	public static final String TCSEED_KEY_STORE      			= "tcseed.key.store";
	
	/**
	 * login client
	 */
	public static final String LOGIN_SEND                           = "login.send";
	public static final String LOGIN_RECV                           = "login.recv";
	public static final String BIND_TYPE                            = "bind.type";
	public static final String LL_FIELD_LENGTH_ALPHA				= "ll.field.length.alpha";
	
	/**
	 * inicis pg
	 */
	public static final String INICIS_KEY_PATH                  = "inicis.key.path";	
	public static final String INICIS_KEY_PASS                  = "inicis.key.pass";	
	
	/**
	 * delimiter
	 */
	public static final String	DELIMITER    	                = "delimiter";		
	/**
	 * append protocol
	 */
	public static final String APPEND_HEAD                      = "append.head";
	public static final String APPEND_TAIL                      = "append.tail";
	
	/**
	 * block ip list
	 */
	public static final String	BLOCK_IP_LIST    	            = "block.ip.list";
	
	/**
	 * l4 skip ip list
	 */
	public static final String	L4_SKIP_IP_LIST    	            = "l4.skip.ip.list";	

	public static final String  IS_SINGLE_SESSION = "is.single.session";
	public static final String  SINGLE_PRIMARY_INST = "single.primary.inst";

	
	public static final String  DYNAMIC_OFFSET_PATTERN         = "dynamic.offset.pattern";
	public static final String  DATA_ADD_RULE                  = "data.add.rule";
	public static final String  DATA_REMOVE_RULE               = "data.remove.rule";
	
	public static final String  KEEP_ALIVE = "keep.alive";
}
