IRIS3_ELEMENT_DECL void Iris3elem_SetupMaxNodeCount(int maxCount) |
관리 가능한 최대 노드 개수 변경 (기본 값 : 256) |
IRIS3_ELEMENT_DECL int Iris3elem_GetMaxNodeCount() |
관리 가능한 최대 노드 개수 리턴 |
IRIS3_ELEMENT_DECL ElementManagerInterface* Iris3elem_GetManager() |
ElementManager 리턴 |
IRIS3_ELEMENT_DECL void Iris3elem_SetManager(ElementManagerInterface* manager) |
ElementManager 강제 할당 |
IRIS3_ELEMENT_DECL ElementNode* Iris3elem_GetCurrentNode() |
Current 노드 리턴 |
IRIS3_ELEMENT_DECL Element* Iris3elem_GetCurrentElement() |
Current element리턴 |
IRIS3_ELEMENT_DECL BOOL Iris3elem_SetCurrentElement(Element* pCurrElem, BOOL bUpdateNotify=TRUE) |
Current element 지정 |
IRIS3_ELEMENT_DECL Element* Iris3elem_GetSelectedTreeElement() |
선택된 Tree element 반환 |
IRIS3_ELEMENT_DECL void Iris3elem_SetSelectedTreeElement(Element* pElement) |
Tree element 선택 |
IRIS3_ELEMENT_DECL void Iris3elem_Init(struct DBConnType elemCfgDB, CString emsIniPath, CString nodePosIniPath) |
ElementManager에서 사용할 DB, 환경설정 등의 정보를 설정 |
IRIS3_ELEMENT_DECL void Iris3elem_EnableHeartbeat() |
특정 함수나 루틴의 수행시간을 계산해주는 기능의 동작여부를 설정 |
IRIS3_ELEMENT_DECL BOOL Iris3elem_RegisterHeartbeat(int nodeTypeID, CString strHbCmd, int timeSpan) |
노드가 계속 살아 있는지 감시(Heartbeat)하는 인터페이스를 등록 |
IRIS3_ELEMENT_DECL void Iris3elem_AliveCheckerVersion |
연결이 끊어진 노드에 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 체크를 할 것인지 여부 지정 |
IRIS3_ELEMENT_DECL void Iris3elem_SetDisconPingInterval(int secs) |
연결이 끊어진 노드에 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 메시지 보낼 명령 문자열 |
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 명령인지 여부 |
IRIS3_ELEMENT_DECL void Iris3elem_InitAllNodeStatus() |
모든 노드의 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 등 노드의 정보를 반환하는 명령어 |
IRIS3_ELEMENT_DECL void Iris3elem_BroadcastRtrvSys(BOOL bOnlyForUsable) |
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 내의 모든 노드에 명령어를 전송 |
IRIS3_ELEMENT_DECL void Iris3elem_SendCommand2(Element* pTargetElement, CString strCmd, BOOL bOnlyForUsable) |
EMS의 특정 노드에 명령어를 전송 |
IRIS3_ELEMENT_DECL unsigned int Iris3elem_GetNetType(const char* netTypeStr) |
망타입은 STAR, LADM(일렬). RING, MESH 등이 있는데 망타입 문자열 “PtoP”, “STAR” 등을 받으면 Iris에서 Define된 망 타입이 반환 |
IRIS3_ELEMENT_DECL const char* Iris3elem_GetNetTypeStr(unsigned int netType) |
Iris에서 Define된 망 타입을 받으면 망타입 문자열이 반환 |
IRIS3_ELEMENT_DECL const char* Iris3elem_GetNetTypeDescStr(unsigned int netType) |
망타입 alias 문자열 “링”, “메쉬” 등이 반환 |
IRIS3_ELEMENT_DECL BOOL Iris3elem_SetNetTypeDescStr(unsigned int netType, char* newDescStr) |
망타입 alias를 지정 |
IRIS3_ELEMENT_DECL ElementCreator* Iris3elem_GetElementCreator(int nodeTypeID /* IRIS3_NODETYPEID_xxx */) |
ElementCreator 객체 조회 |
IRIS3_ELEMENT_DECL BOOL Iris3elem_AddElementCreator(int nodeTypeID /* IRIS3_NODETYPEID_xxx /, ElementCreator creator) |
ElementCreator 객체 등록 |
IRIS3_ELEMENT_DECL ElementNode* default_create_node(unsigned int neType /* IRIS3_NETYPE_xxx */, unsigned char shelfID) |
ElementCreator 객체 생성 |
IRIS3_ELEMENT_DECL ElementNode* default_create_node2(ElementNet* pGroup, unsigned int neType, unsigned char shelfID, unsigned int ip) |
ElementCreator 객체 생성 (SetIP 추가) |
IRIS3_ELEMENT_DECL ElementNode* default_create_metaaddr(ElementNode* pCurrNode, MetaAddrInfo* pMetaAddrInfo /OUT/) |
각 노드에 대해 meta_addr을 만들기 위해 필요한 정보를 채우는 함수 |
IRIS3_ELEMENT_DECL void Iris3elem_TurnOnTidBlock() |
Tid를 사용하는 함수 |
IRIS3_ELEMENT_DECL void Iris3elem_TurnOffTidBlock() |
Tid를 사용을 막는 함수 |
IRIS3_ELEMENT_DECL char* Iris3elem_GetCurrTID() |
노드의 Tid를 반환 |
IRIS3_ELEMENT_DECL int Iris3elem_SaveCurrentNodeTypeID() |
lemonif에서 노드 타입별로 리소스ID를 찾을 수 있도록 노드 타입을 기억해 두는 함수 |
IRIS3_ELEMENT_DECL unsigned int Iris3elem_GetShelfId(int nodeTypeID /* IRIS3_NODETYPEID_xxx */, CString strShelfType) |
Shelf타입 문자열을 Shelf ID로 바꿔주는 함수 |
IRIS3_ELEMENT_DECL void Iris3elem_SetNetSeverityMode( enum Iris3NetSeverityMode mode ) |
DISCONN 표시 방법 설정 (GROUP내에 모든 노드가 Disconn or Deact일 경우/ GROUP내에 일부 노드가 Disconn or Deact일 경우) |
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 노드를 찾아서 콜벡함수 호출 |
IRIS3_ELEMENT_DECL void Iris3elem_InitStartup() |
Reliable 서비스에 필요한 SAP, Reliable 서비스에 필요한 송신용 callback 과 수신용 callback 2 개를 등록 |
IRIS3_ELEMENT_DECL void Iris3elem_SetStartupSap(int newSap) |
startup sap 지정 : 기본값 = 255 |
IRIS3_ELEMENT_DECL void Iris3elem_RegisterStartupCmd(CString strCmd) |
startup 명령어 지정 : 기본값 = RTRV-SYS; |
IRIS3_ELEMENT_DECL int Iris3elem_RegisterRestartUserCallback(void restart_user_cb(struct meta_addr src, ElementNode pNode)) |
startup일때 app에서 뭔가 해주고 싶으면 callback 등록 |
IRIS3_ELEMENT_DECL void Iris3elem_EnableLoginLogout(BOOL bOnOff) |
Login/Logout 기능 사용 여부 등록 |
IRIS3_ELEMENT_DECL void Iris3elem_RegisterLoginCmd(CString strCmd) |
Login 명령어를 등록 |
IRIS3_ELEMENT_DECL void Iris3elem_RegisterLogoutCmd(CString strCmd) |
Logout 명령어를 등록 |
IRIS3_ELEMENT_DECL BOOL Iris3elem_SendLogin(ElementNode* pNode) |
노드에 Login 명령어를 전송 |
IRIS3_ELEMENT_DECL BOOL Iris3elem_SendLogout(ElementNode* pNode) |
노드에 Logout 명령어를 전송 |
IRIS3_ELEMENT_DECL void Iris3elem_BroadcastLogin() |
EMS의 모든 노드에 Login 명령어를 전송 |
IRIS3_ELEMENT_DECL void Iris3elem_BroadcastLogout() |
EMS의 모든 노드에 Logout 명령어를 전송 |
IRIS3_ELEMENT_DECL void Iris3elem_BroadcastLogin(BOOL bOnlyForUsable) |
not usable 노드에 대해서도 Login 명령어를 전송 할 것인지 여부 지정 |
IRIS3_ELEMENT_DECL void Iris3elem_BroadcastLogout(BOOL bOnlyForUsable) |
not usable 노드에 대해서도 Logout 명령어를 전송 할 것인지 여부 지정 |
IRIS3_ELEMENT_DECL void Iris3elem_SetNodeKeyType(enum Iris3NodeKeyType type) |
노드 KEY 타입을 지정 (Iris3NodeKeyType(NODENAME, TID, FULLNAME)으로 지정할 수 있음) |
IRIS3_ELEMENT_DECL enum Iris3NodeKeyType Iris3elem_GetNodeKeyType() |
노드 KEY 타입 반환 |
IRIS3_ELEMENT_DECL void Iris3elem_SetLinkNodeKeyType(enum Iris3LinkNodeKeyType type) |
링크의 KEY 타입을 지정 |
IRIS3_ELEMENT_DECL enum Iris3LinkNodeKeyType Iris3elem_GetLinkNodeKeyType() |
링크의 KEY 타입을 반환 |
IRIS3_ELEMENT_DECL void Iris3elem_SetNodePosSectionType(enum Iris3NodePosSectionType type) |
node_pos.ini(노드 위치 파일)의 섹션값 타입(NODENAME, TID) 지정 |
IRIS3_ELEMENT_DECL void Iris3elem_SetNodePosKeyType(enum Iris3NodePosKeyType type) |
node_pos.ini(노드 위치 파일)의 KEY 타입 지정 |
IRIS3_ELEMENT_DECL void Iris3elem_SetSerialNumber(int max) |
Client에는 DB가 없으므로 명시적인 초기화 필요 |
IRIS3_ELEMENT_DECL void Iris3elem_RtrvSysEachTimeCurrentChanged(BOOL bAutoSend, const char* rtrvSysCmd=NULL, BOOL bSendToChild=FALSE, BOOL bSendOnlyForUsable=TRUE) |
Current 노드 변경 시 RTRV-SYS명령어를 전송 |
IRIS3_ELEMENT_DECL void Iris3elem_Persistence_EnableNodeAddAuto(BOOL bAutoAdd) |
DB에서 로딩할 때 노드를 자동으로 추가시켜줄 것인지 여부 지정 |
IRIS3_ELEMENT_DECL void Iris3elem_Persistence_UsePermissionField(BOOL bUse) |
IRIS_GROUP 테이블의 PERMISSION_TYPE 필드를 사용할지 여부 지정 |
IRIS3_ELEMENT_DECL int Iris3elem_GetNodeListCount() |
EMS에서 관리하는 전체 노드 개수 |
IRIS3_ELEMENT_DECL int Iris3elem_GetNodeInfo(int ith, char* iris_code/OUT/, char* xid/OUT/, unsigned int* ip/OUT/) |
노드 정보 조회 (Iris code, xid, 노드 ip가 조회) |
IRIS3_ELEMENT_DECL int Iris3elem_Xid2Iriscode(char* xid, unsigned char* iris_code/OUT/) |
xid를 Iris code로 변환 |
IRIS3_ELEMENT_DECL int Iris3elem_Xid2MetaAddr(char* xid, struct meta_addr** ppAddr/*OUT*/) |
xid를 meta 주소값으로 변환 |
IRIS3_ELEMENT_DECL int Iris3elem_GetXidSubpart(char* xid, int idx, char* xid_subpart/*OUT*/) |
xid 문자열을 파싱하여 n번째 항목을 리턴 |