... | ... | @@ -65,158 +65,159 @@ EMS(element management system)란 하나의 장비를 관리하는 시스템이 |
|
|
|
|
|
### 카) Iris3 element Interface
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_SetupMaxNodeCount(int maxCount)**
|
|
|
관리 가능한 최대 노드 개수 변경 (기본 값 : 256)
|
|
|
관리 가능한 최대 노드 개수 변경 (기본 값 : 256)
|
|
|
**IRIS3_ELEMENT_DECL int Iris3elem_GetMaxNodeCount()**
|
|
|
관리 가능한 최대 노드 개수 리턴
|
|
|
관리 가능한 최대 노드 개수 리턴
|
|
|
**IRIS3_ELEMENT_DECL ElementManagerInterface\* Iris3elem_GetManager()**
|
|
|
ElementManager 리턴
|
|
|
ElementManager 리턴
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_SetManager(ElementManagerInterface\* manager)**
|
|
|
ElementManager 강제 할당
|
|
|
ElementManager 강제 할당
|
|
|
**IRIS3_ELEMENT_DECL ElementNode\* Iris3elem_GetCurrentNode()**
|
|
|
Current 노드 리턴
|
|
|
Current 노드 리턴
|
|
|
**IRIS3_ELEMENT_DECL Element\* Iris3elem_GetCurrentElement()**
|
|
|
Current element리턴
|
|
|
Current element리턴
|
|
|
**IRIS3_ELEMENT_DECL BOOL Iris3elem_SetCurrentElement(Element\* pCurrElem, BOOL bUpdateNotify=TRUE)**
|
|
|
Current element 지정
|
|
|
Current element 지정
|
|
|
**IRIS3_ELEMENT_DECL Element\* Iris3elem_GetSelectedTreeElement()**
|
|
|
선택된 Tree element 반환
|
|
|
선택된 Tree element 반환
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_SetSelectedTreeElement(Element\* pElement)**
|
|
|
Tree element 선택
|
|
|
Tree element 선택
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_Init(struct DBConnType elemCfgDB, CString emsIniPath, CString nodePosIniPath)**
|
|
|
ElementManager에서 사용할 DB, 환경설정 등의 정보를 설정
|
|
|
ElementManager에서 사용할 DB, 환경설정 등의 정보를 설정
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_UseCommandGateway(int nodeTypeID, BOOL bUse)**
|
|
|
**IRIS3_ELEMENT_DECL BOOL Iris3elem_IsUseCommandGateway(int nodeTypeID)**
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_EnableHeartbeat()**
|
|
|
특정 함수나 루틴의 수행시간을 계산해주는 기능의 동작여부를 설정
|
|
|
특정 함수나 루틴의 수행시간을 계산해주는 기능의 동작여부를 설정
|
|
|
**IRIS3_ELEMENT_DECL BOOL Iris3elem_RegisterHeartbeat(int nodeTypeID, CString strHbCmd, int timeSpan)**
|
|
|
노드가 계속 살아 있는지 감시(Heartbeat)하는 인터페이스를 등록
|
|
|
노드가 계속 살아 있는지 감시(Heartbeat)하는 인터페이스를 등록
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_AliveCheckerVersion**
|
|
|
연결이 끊어진 노드에 PING 메시지 보내는 Version 설정
|
|
|
연결이 끊어진 노드에 PING 메시지 보내는 Version 설정
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_CheckAliveForAllNode(BOOL bForAllNode)**
|
|
|
class Element의 멤버 변수m_bUsable : 고정된 개수의 elem을 미리 생성해두고, use flag로 액세스를 제어하려는 경우에 사용된다. (0 : not usable, 1: usable)
|
|
|
not usable 노드에 대해서도 Alive 체크를 할 것인지 여부 지정
|
|
|
class Element의 멤버 변수m_bUsable : 고정된 개수의 elem을 미리 생성해두고, use flag로 액세스를 제어하려는 경우에 사용된다. (0 : not usable, 1: usable)
|
|
|
not usable 노드에 대해서도 Alive 체크를 할 것인지 여부 지정
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_SetDisconPingInterval(int secs)**
|
|
|
연결이 끊어진 노드에 PING 메시지 보내는 간격 설정
|
|
|
연결이 끊어진 노드에 PING 메시지 보내는 간격 설정
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_SetDisconFirstTimeout(int secs)**
|
|
|
노드 단절을 판단하는 첫 번째 초과시간
|
|
|
노드 단절을 판단하는 첫 번째 초과시간
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_SetDisconSecondTimeout(int secs)**
|
|
|
노드 단절을 판단하는 두 번째 초과시간
|
|
|
노드 단절을 판단하는 두 번째 초과시간
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_RegisterDisconPingCmd(CString strCmd)**
|
|
|
단절된 노드에 PING 메시지 보낼 명령 문자열
|
|
|
단절된 노드에 PING 메시지 보낼 명령 문자열
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_RegisterDisconConfirmCmd(CString strCmd)**
|
|
|
단절된 노드에 보낼 명령 문자열
|
|
|
단절된 노드에 보낼 명령 문자열
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_RegisterDisconPingCmd(int nNodeTypeID, CString strCmd)**
|
|
|
단절된 노드에 보낼 명령 문자열 (노드 타입별 지정)
|
|
|
단절된 노드에 보낼 명령 문자열 (노드 타입별 지정)
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_RegisterDisconConfirmCmd(int nNodeTypeID, CString strCmd)**
|
|
|
단절된 노드에 보낼 명령 문자열 (노드 타입별 지정)
|
|
|
단절된 노드에 보낼 명령 문자열 (노드 타입별 지정)
|
|
|
**IRIS3_ELEMENT_DECL BOOL Iris3elem_IsConfirmResponse(ElementNode\* pNode)**
|
|
|
단절 의심상태에서 마지막으로 보낸 명령어가 CONFIRM 명령인지 여부
|
|
|
단절 의심상태에서 마지막으로 보낸 명령어가 CONFIRM 명령인지 여부
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_InitAllNodeStatus()**
|
|
|
모든 노드의 LedInfo 정보를 초기화
|
|
|
모든 노드의 LedInfo 정보를 초기화
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_BroadcastRtrvSys()**
|
|
|
EMS의 모든 노드에게 RTRV-SYS 명령어를 broadcast
|
|
|
RTRV-SYS : TID, NODE_NAME, NODE_ID(GROUP), NE_TYPE, SHELF_TYPE, SHELF_ID, TOPOLOGY, VENDOR 등 노드의 정보를 반환하는 명령어
|
|
|
EMS의 모든 노드에게 RTRV-SYS 명령어를 broadcast
|
|
|
RTRV-SYS : TID, NODE_NAME, NODE_ID(GROUP), NE_TYPE, SHELF_TYPE, SHELF_ID, TOPOLOGY, VENDOR 등 노드의 정보를 반환하는 명령어
|
|
|
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_BroadcastRtrvSys(BOOL bOnlyForUsable)**
|
|
|
usable 노드에 RTRV-SYS 명령어를 broadcast
|
|
|
usable 노드에 RTRV-SYS 명령어를 broadcast
|
|
|
**IRIS3_ELEMENT_DECL BOOL Iris3elem_SendCommand(ElementNode\* pNode, CString strCmd)**
|
|
|
특정 노드에 명령을 전송
|
|
|
특정 노드에 명령을 전송
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_SendCommand2(Element\* pTargetElement, CString strCmd)**
|
|
|
ElementComposite 내의 모든 노드에 명령어를 전송
|
|
|
ElementComposite 내의 모든 노드에 명령어를 전송
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_SendCommand2(Element\* pTargetElement, CString strCmd, BOOL bOnlyForUsable)**
|
|
|
EMS의 특정 노드에 명령어를 전송
|
|
|
EMS의 특정 노드에 명령어를 전송
|
|
|
**IRIS3_ELEMENT_DECL unsigned int Iris3elem_GetNetType(const char\* netTypeStr)**
|
|
|
망타입은 STAR, LADM(일렬). RING, MESH 등이 있는데 망타입 문자열 “PtoP”, “STAR” 등을 받으면 Iris에서 Define된 망 타입이 반환
|
|
|
망타입은 STAR, LADM(일렬). RING, MESH 등이 있는데 망타입 문자열 “PtoP”, “STAR” 등을 받으면 Iris에서 Define된 망 타입이 반환
|
|
|
**IRIS3_ELEMENT_DECL const char\* Iris3elem_GetNetTypeStr(unsigned int netType)**
|
|
|
Iris에서 Define된 망 타입을 받으면 망타입 문자열이 반환
|
|
|
Iris에서 Define된 망 타입을 받으면 망타입 문자열이 반환
|
|
|
**IRIS3_ELEMENT_DECL const char\* Iris3elem_GetNetTypeDescStr(unsigned int netType)**
|
|
|
망타입 alias 문자열 “링”, “메쉬” 등이 반환
|
|
|
망타입 alias 문자열 “링”, “메쉬” 등이 반환
|
|
|
**IRIS3_ELEMENT_DECL BOOL Iris3elem_SetNetTypeDescStr(unsigned int netType, char\* newDescStr)**
|
|
|
망타입 alias를 지정
|
|
|
망타입 alias를 지정
|
|
|
**IRIS3_ELEMENT_DECL ElementCreator\* Iris3elem_GetElementCreator(int nodeTypeID /\* IRIS3_NODETYPEID_xxx \*/)**
|
|
|
ElementCreator 객체 조회
|
|
|
ElementCreator 객체 조회
|
|
|
**IRIS3_ELEMENT_DECL BOOL Iris3elem_AddElementCreator(int nodeTypeID /\* IRIS3_NODETYPEID_xxx \*/, ElementCreator\* creator)**
|
|
|
ElementCreator 객체 등록
|
|
|
ElementCreator 객체 등록
|
|
|
**IRIS3_ELEMENT_DECL ElementNode\* default_create_node(unsigned int neType /\* IRIS3_NETYPE_xxx \*/, unsigned char shelfID)**
|
|
|
ElementCreator 객체 생성
|
|
|
ElementCreator 객체 생성
|
|
|
**IRIS3_ELEMENT_DECL ElementNode\* default_create_node2(ElementNet\* pGroup, unsigned int neType, unsigned char shelfID, unsigned int ip)**
|
|
|
ElementCreator 객체 생성 (SetIP 추가)
|
|
|
ElementCreator 객체 생성 (SetIP 추가)
|
|
|
**IRIS3_ELEMENT_DECL ElementNode\* default_create_metaaddr(ElementNode\* pCurrNode, MetaAddrInfo\* pMetaAddrInfo /\*OUT\*/)**
|
|
|
각 노드에 대해 meta_addr을 만들기 위해 필요한 정보를 채우는 함수
|
|
|
각 노드에 대해 meta_addr을 만들기 위해 필요한 정보를 채우는 함수
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_TurnOnTidBlock()**
|
|
|
Tid를 사용하는 함수
|
|
|
Tid를 사용하는 함수
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_TurnOffTidBlock()**
|
|
|
Tid를 사용을 막는 함수
|
|
|
Tid를 사용을 막는 함수
|
|
|
**IRIS3_ELEMENT_DECL char\* Iris3elem_GetCurrTID()**
|
|
|
노드의 Tid를 반환
|
|
|
노드의 Tid를 반환
|
|
|
**IRIS3_ELEMENT_DECL int Iris3elem_SaveCurrentNodeTypeID()**
|
|
|
lemonif에서 노드 타입별로 리소스ID를 찾을 수 있도록 노드 타입을 기억해 두는 함수
|
|
|
lemonif에서 노드 타입별로 리소스ID를 찾을 수 있도록 노드 타입을 기억해 두는 함수
|
|
|
**IRIS3_ELEMENT_DECL unsigned int Iris3elem_GetShelfId(int nodeTypeID /\* IRIS3_NODETYPEID_xxx \*/, CString strShelfType)**
|
|
|
Shelf타입 문자열을 Shelf ID로 바꿔주는 함수
|
|
|
Shelf타입 문자열을 Shelf ID로 바꿔주는 함수
|
|
|
**IRIS3_ELEMENT_DECL int Iris3elem_Xid2Node(char\* xid, ElementNode\*\* ppNode)**
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_SetNetSeverityMode( enum Iris3NetSeverityMode mode )**
|
|
|
DISCONN 표시 방법 설정 (GROUP내에 모든 노드가 Disconn or Deact일 경우/ GROUP내에 일부 노드가 Disconn or Deact일 경우)
|
|
|
DISCONN 표시 방법 설정 (GROUP내에 모든 노드가 Disconn or Deact일 경우/ GROUP내에 일부 노드가 Disconn or Deact일 경우)
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_CheckDbVersion()**
|
|
|
**IRIS3_ELEMENT_DECL BOOL Iris3elem_EnumAllNodes(BOOL (\*node_enum_proc)(ElementNode\* node, void\* param), void\* param)**
|
|
|
모든 노드에 주어진 콜벡함수 호출
|
|
|
모든 노드에 주어진 콜벡함수 호출
|
|
|
**IRIS3_ELEMENT_DECL BOOL Iris3elem_EnumUsableNodes(BOOL (\*node_enum_proc)(ElementNode\* node, void\* param), void\* param)**
|
|
|
usable 노드를 찾아서 콜벡함수 호출
|
|
|
usable 노드를 찾아서 콜벡함수 호출
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_InitStartup()**
|
|
|
Reliable 서비스에 필요한 SAP, Reliable 서비스에 필요한 송신용 callback 과 수신용 callback 2 개를 등록
|
|
|
Reliable 서비스에 필요한 SAP, Reliable 서비스에 필요한 송신용 callback 과 수신용 callback 2 개를 등록
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_SetStartupSap(int newSap)**
|
|
|
startup sap 지정 : 기본값 = 255
|
|
|
startup sap 지정 : 기본값 = 255
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_RegisterStartupCmd(CString strCmd)**
|
|
|
startup 명령어 지정 : 기본값 = RTRV-SYS;
|
|
|
startup 명령어 지정 : 기본값 = RTRV-SYS;
|
|
|
**IRIS3_ELEMENT_DECL int Iris3elem_RegisterRestartUserCallback(void restart_user_cb(struct meta_addr \*src, ElementNode\* pNode))**
|
|
|
startup일때 app에서 뭔가 해주고 싶으면 callback 등록
|
|
|
startup일때 app에서 뭔가 해주고 싶으면 callback 등록
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_EnableLoginLogout(BOOL bOnOff)**
|
|
|
Login/Logout 기능 사용 여부 등록
|
|
|
Login/Logout 기능 사용 여부 등록
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_RegisterLoginCmd(CString strCmd)**
|
|
|
Login 명령어를 등록
|
|
|
Login 명령어를 등록
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_RegisterLogoutCmd(CString strCmd)**
|
|
|
Logout 명령어를 등록
|
|
|
Logout 명령어를 등록
|
|
|
**IRIS3_ELEMENT_DECL BOOL Iris3elem_SendLogin(ElementNode\* pNode)**
|
|
|
노드에 Login 명령어를 전송
|
|
|
노드에 Login 명령어를 전송
|
|
|
**IRIS3_ELEMENT_DECL BOOL Iris3elem_SendLogout(ElementNode\* pNode)**
|
|
|
노드에 Logout 명령어를 전송
|
|
|
노드에 Logout 명령어를 전송
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_BroadcastLogin()**
|
|
|
EMS의 모든 노드에 Login 명령어를 전송
|
|
|
EMS의 모든 노드에 Login 명령어를 전송
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_BroadcastLogout()**
|
|
|
EMS의 모든 노드에 Logout 명령어를 전송
|
|
|
EMS의 모든 노드에 Logout 명령어를 전송
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_BroadcastLogin(BOOL bOnlyForUsable)**
|
|
|
not usable 노드에 대해서도 Login 명령어를 전송 할 것인지 여부 지정
|
|
|
not usable 노드에 대해서도 Login 명령어를 전송 할 것인지 여부 지정
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_BroadcastLogout(BOOL bOnlyForUsable)**
|
|
|
not usable 노드에 대해서도 Logout 명령어를 전송 할 것인지 여부 지정
|
|
|
not usable 노드에 대해서도 Logout 명령어를 전송 할 것인지 여부 지정
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_SetNodeKeyType(enum Iris3NodeKeyType type)**
|
|
|
노드 KEY 타입을 지정 (Iris3NodeKeyType(NODENAME, TID, FULLNAME)으로 지정할 수 있음)
|
|
|
노드 KEY 타입을 지정 (Iris3NodeKeyType(NODENAME, TID, FULLNAME)으로 지정할 수 있음)
|
|
|
**IRIS3_ELEMENT_DECL enum Iris3NodeKeyType Iris3elem_GetNodeKeyType()**
|
|
|
노드 KEY 타입 반환
|
|
|
노드 KEY 타입 반환
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_SetLinkNodeKeyType(enum Iris3LinkNodeKeyType type)**
|
|
|
링크의 KEY 타입을 지정
|
|
|
링크의 KEY 타입을 지정
|
|
|
**IRIS3_ELEMENT_DECL enum Iris3LinkNodeKeyType Iris3elem_GetLinkNodeKeyType()**
|
|
|
링크의 KEY 타입을 반환
|
|
|
링크의 KEY 타입을 반환
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_SetNodePosSectionType(enum Iris3NodePosSectionType type)**
|
|
|
node_pos.ini(노드 위치 파일)의 섹션값 타입(NODENAME, TID) 지정
|
|
|
node_pos.ini(노드 위치 파일)의 섹션값 타입(NODENAME, TID) 지정
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_SetNodePosKeyType(enum Iris3NodePosKeyType type)**
|
|
|
node_pos.ini(노드 위치 파일)의 KEY 타입 지정
|
|
|
node_pos.ini(노드 위치 파일)의 KEY 타입 지정
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_SetSerialNumber(int max)**
|
|
|
Client에는 DB가 없으므로 명시적인 초기화 필요
|
|
|
Client에는 DB가 없으므로 명시적인 초기화 필요
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_RtrvSysEachTimeCurrentChanged(BOOL bAutoSend, const char\* rtrvSysCmd=NULL, BOOL bSendToChild=FALSE, BOOL bSendOnlyForUsable=TRUE)**
|
|
|
Current 노드 변경 시 RTRV-SYS명령어를 전송
|
|
|
Current 노드 변경 시 RTRV-SYS명령어를 전송
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_Persistence_EnableNodeAddAuto(BOOL bAutoAdd)**
|
|
|
DB에서 로딩할 때 노드를 자동으로 추가시켜줄 것인지 여부 지정
|
|
|
DB에서 로딩할 때 노드를 자동으로 추가시켜줄 것인지 여부 지정
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_Persistence_UsePermissionField(BOOL bUse)**
|
|
|
IRIS_GROUP 테이블의 PERMISSION_TYPE 필드를 사용할지 여부 지정
|
|
|
IRIS_GROUP 테이블의 PERMISSION_TYPE 필드를 사용할지 여부 지정
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_Persistence_SetVersion(int ver/\*1,2\*/)**
|
|
|
**IRIS3_ELEMENT_DECL void Iris3elem_RegisterSevLevelTable(SevLevelDesicionTable\* table)**
|
|
|
**IRIS3_ELEMENT_DECL int Iris3elem_GetMoreSevLevel(int sev0, int sev1)**
|
|
|
**IRIS3_ELEMENT_DECL int Iris3elem_GetNodeListCount()**
|
|
|
EMS에서 관리하는 전체 노드 개수
|
|
|
EMS에서 관리하는 전체 노드 개수
|
|
|
**IRIS3_ELEMENT_DECL int Iris3elem_GetNodeInfo(int ith, char\* iris_code/\*OUT\*/, char\* xid/\*OUT\*/, unsigned int\* ip/\*OUT\*/)**
|
|
|
노드 정보 조회 (Iris code, xid, 노드 ip가 조회)
|
|
|
노드 정보 조회 (Iris code, xid, 노드 ip가 조회)
|
|
|
**IRIS3_ELEMENT_DECL int Iris3elem_Xid2Iriscode(char\* xid, unsigned char\* iris_code/\*OUT\*/)**
|
|
|
xid를 Iris code로 변환
|
|
|
xid를 Iris code로 변환
|
|
|
**IRIS3_ELEMENT_DECL int Iris3elem_Xid2MetaAddr(char\* xid, struct meta_addr\*\* ppAddr/\*OUT\*/)**
|
|
|
xid를 meta 주소값으로 변환
|
|
|
xid를 meta 주소값으로 변환
|
|
|
**IRIS3_ELEMENT_DECL int Iris3elem_RtXid2GwXid(char\* rtXid, char\* gwXid/\*OUT\*/)**
|
|
|
**IRIS3_ELEMENT_DECL int Iris3elem_GetXidSubpart(char\* xid, int idx, char\* xid_subpart/\*OUT\*/)**
|
|
|
xid 문자열을 파싱하여 n번째 항목을 리턴 |
|
|
\ No newline at end of file |
|
|
xid 문자열을 파싱하여 n번째 항목을 리턴 |
|
|
\ No newline at end of file |