차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
ko:log_management_api [2020/02/17 19:48] kkshin |
ko:log_management_api [2020/08/21 14:20] kkshin [BS2EventSmallBlob] |
||
---|---|---|---|
줄 8: | 줄 8: | ||
* [[BS2_ClearLog]]: 모든 로그를 삭제합니다. | * [[BS2_ClearLog]]: 모든 로그를 삭제합니다. | ||
* [[BS2_StartMonitoringLog]]: 실시간 로그 스트리밍을 시작합니다. | * [[BS2_StartMonitoringLog]]: 실시간 로그 스트리밍을 시작합니다. | ||
+ | * [[BS2_StartMonitoringLogEx]]: 측정 체온이 포함된, 실시간 로그 스트리밍을 시작합니다. [+ V2.7.1] | ||
* [[BS2_StopMonitoringLog]]: 실시간 로그 스트리밍을 중단합니다. | * [[BS2_StopMonitoringLog]]: 실시간 로그 스트리밍을 중단합니다. | ||
* [[BS2_GetLogBlob]]: EventMask에 맞게 일정량의 로그를 가져옵니다. | * [[BS2_GetLogBlob]]: EventMask에 맞게 일정량의 로그를 가져옵니다. | ||
* [[BS2_GetFilteredLogSinceEventId]]: 조건에 맞는 로그를 가져옵니다. | * [[BS2_GetFilteredLogSinceEventId]]: 조건에 맞는 로그를 가져옵니다. | ||
* [[BS2_GetImageLog]]: 이미지로그를 가져옵니다. | * [[BS2_GetImageLog]]: 이미지로그를 가져옵니다. | ||
- | * [[BS2_GetLogSmallBlob]]: [+ 2.6.4] 효율적으로 메모리를 사용하여, EventMask에 맞게 일정량의 로그를 가져옵니다. | + | * [[BS2_GetLogSmallBlob]]: [+ 2.6.4] 효율적으로 메모리를 사용하면서, EventMask에 맞게 일정량의 로그를 가져옵니다. |
===== 콜백 함수 ===== | ===== 콜백 함수 ===== | ||
+ | ==== OnLogReceived ==== | ||
+ | 장치로부터 새로운 로그를 수신했을 때 호출되는 콜백 함수입니다. \\ \\ | ||
<code cpp> | <code cpp> | ||
typedef void (*OnLogReceived)(uint32_t deviceId, BS2Event* log); | typedef void (*OnLogReceived)(uint32_t deviceId, BS2Event* log); | ||
</code> | </code> | ||
\\ | \\ | ||
+ | 1. //deviceId// \\ | ||
+ | 새로운 로그를 보내준 장치 ID입니다. \\ \\ | ||
+ | 2. //log// \\ | ||
+ | 새로운 로그 정보 구조체입니다. \\ \\ | ||
- | 1. //OnLogReceived// \\ | + | ==== OnLogReceivedEx ==== |
- | 장치로부터 새로운 로그를 수신했을 때 호출되는 콜백 함수입니다. \\ \\ | + | [+ V2.7.1] 장치로부터 새로운 로그를 수신했을 때 호출되는 콜백 함수입니다. \\ |
+ | 열화상 카메라를 통해 측정된 체온이 세번째 인자로 수신되며, [[configuration api#BS2FaceConfigExt]]의 auditTemperature가 true로 설정되어져야 합니다. \\ \\ | ||
+ | <code cpp> | ||
+ | typedef void (*OnLogReceivedEx)(uint32_t deviceId, BS2Event* log, uint32_t temperature); | ||
+ | </code> | ||
+ | \\ | ||
+ | 1. //deviceId// \\ | ||
+ | 새로운 로그를 보내준 장치 ID입니다. \\ \\ | ||
+ | 2. //log// \\ | ||
+ | 새로운 로그 정보 구조체입니다. \\ \\ | ||
+ | 3. //temperature// \\ | ||
+ | 새로운 로그 발생 시, 측정된 체온 정보입니다. \\ \\ | ||
===== 구조체 ===== | ===== 구조체 ===== | ||
==== BS2Event ==== | ==== BS2Event ==== | ||
줄 349: | 줄 366: | ||
로그와 관련된 사용자 식별자로써 사용자와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | 로그와 관련된 사용자 식별자로써 사용자와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | ||
5. //cardID// \\ | 5. //cardID// \\ | ||
- | 로그와 관련된 card 식별자로써 card와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | + | 로그와 관련된 card 식별자로써 card와 관련 없는 로그일 경우 0으로 설정됩니다. \\ |
+ | 인증 실패의 경우에만 기록하며, 인증 성공의 경우에는 eventMask와 상관없이 user ID를 리턴합니다. \\ \\ | ||
6. //doorID// \\ | 6. //doorID// \\ | ||
로그와 관련된 door 식별자로써 door와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | 로그와 관련된 door 식별자로써 door와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | ||
줄 423: | 줄 441: | ||
</WRAP> | </WRAP> | ||
4. //reserved// \\ | 4. //reserved// \\ | ||
+ | 예약된 공간입니다.\\ \\ | ||
+ | |||
+ | ==== BS2EventSmallBlob ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint16_t eventMask; | ||
+ | uint32_t id; | ||
+ | BS2EventExtInfo info; | ||
+ | union | ||
+ | { | ||
+ | BS2_USER_ID userID; // valid if eventMask has BS2_EVENT_MASK_USER_ID | ||
+ | uint8_t cardID[BS2_CARD_DATA_SIZE]; // valid if eventMask has BS2_EVENT_MASK_CARD_ID | ||
+ | BS2_DOOR_ID doorID; // valid if eventMask has BS2_EVENT_MASK_DOOR_ID | ||
+ | BS2_ZONE_ID zoneID; // valid if eventMask has BS2_EVENT_MASK_ZONE_ID | ||
+ | BS2EventExtIoDevice ioDevice; // valid if eventMask has BS2_EVENT_MASK_IODEVICE | ||
+ | }; | ||
+ | uint8_t tnaKey; | ||
+ | uint32_t jobCode; | ||
+ | uint16_t imageSize; | ||
+ | uint8_t* imageObj; // valid if eventMask has BS2_EVENT_MASK_IMAGE | ||
+ | uint8_t reserved; | ||
+ | } BS2EventSmallBlob; | ||
+ | </code> | ||
+ | \\ | ||
+ | |||
+ | 1. //eventMask// \\ | ||
+ | Event mask값입니다. mask값에 따라서 해당 ID(User, card, door, zone)값을 인식할 수 있습니다.\\ \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |0x0000 |없음 | | ||
+ | |0x0001 |BS2EventExtInfo 구조체 | | ||
+ | |0x0002 |User ID | | ||
+ | |0x0004 |Card ID | | ||
+ | |0x0008 |Door ID | | ||
+ | |0x0010 |Zone ID | | ||
+ | |0x0020 |BS2EventExtIoDevice 구조체 | | ||
+ | |0x0040 |TNA Key | | ||
+ | |0x0080 |Job Code | | ||
+ | |0x0100 |Image | | ||
+ | |0x0200 |Temperature | | ||
+ | |0xFFFF |ALL | | ||
+ | </WRAP> | ||
+ | 2. //id// \\ | ||
+ | 로그 레코드의 식별자이며 로그가 발생될 때마다 1부터 자동으로 증가합니다. \\ \\ | ||
+ | 3. //info// \\ | ||
+ | BS2EventExtInfo 구조체 정보입니다. \\ \\ | ||
+ | 4. //userID// \\ | ||
+ | 로그와 관련된 사용자 식별자로써 사용자와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | ||
+ | 5. //cardID// \\ | ||
+ | 로그와 관련된 card 식별자로써 card와 관련 없는 로그일 경우 0으로 설정됩니다. \\ | ||
+ | 인증 실패의 경우에만 기록하며, 인증 성공의 경우에는 eventMask와 상관없이 user ID를 리턴합니다. \\ \\ | ||
+ | 6. //doorID// \\ | ||
+ | 로그와 관련된 door 식별자로써 door와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | ||
+ | 7. //zoneID// \\ | ||
+ | 로그와 관련된 zone 식별자로써 zone와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | ||
+ | 8. //ioDevice// \\ | ||
+ | Door나 Input 장치의 식별자로 Door나 Input 장치와 관련 없는 로그일 경우 0으로 설정됩니다. (BS2EventExtIoDevice 구조체 참고)\\ \\ | ||
+ | 9. //tnaKey// \\ | ||
+ | 이벤트 발생 장치의 추가 정보가 필요할 경우에만 사용되고, 주로 근태 코드나 출입문이나 입력 장치의 포트 번호가 저장됩니다 \\ \\ | ||
+ | 10. //jobCode// \\ | ||
+ | 사용자 정보에 JobCode가 존재했을 경우에, JobCode 사용하여 인증 할 때 사용자의 JobCode 값을 말합니다. \\ \\ | ||
+ | 11. //imageSize// \\ | ||
+ | 이벤트 발생되었을 때 이미지 size를 말합니다. \\ \\ | ||
+ | 12. //imageObj// \\ | ||
+ | 이벤트 발생되었을 때 이미지 정보가 포함될 경우에 사용됩니다 \\ \\ | ||
+ | 13. //reserved// \\ | ||
+ | 예약된 공간입니다.\\ \\ | ||
+ | |||
+ | |||
+ | ==== BS2EventSmallBlobEx ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint16_t eventMask; | ||
+ | uint32_t id; | ||
+ | BS2EventExtInfo info; // valid if eventMask has BS2_EVENT_MASK_INFO | ||
+ | union | ||
+ | { | ||
+ | BS2_USER_ID userID; // valid if eventMask has BS2_EVENT_MASK_USER_ID | ||
+ | uint8_t cardID[BS2_CARD_DATA_SIZE]; // valid if eventMask has BS2_EVENT_MASK_CARD_ID | ||
+ | BS2_DOOR_ID doorID; // valid if eventMask has BS2_EVENT_MASK_DOOR_ID | ||
+ | BS2_ZONE_ID zoneID; // valid if eventMask has BS2_EVENT_MASK_ZONE_ID | ||
+ | BS2EventExtIoDevice ioDevice; // valid if eventMask has BS2_EVENT_MASK_IODEVICE | ||
+ | }; | ||
+ | uint8_t tnaKey; // valid if eventMask has BS2_EVENT_MASK_TNA_KEY | ||
+ | uint32_t jobCode; // valid if eventMask has BS2_EVENT_MASK_JOB_CODE | ||
+ | uint16_t imageSize; // valid if eventMask has BS2_EVENT_MASK_IMAGE | ||
+ | uint8_t* imageObj; // valid if eventMask has BS2_EVENT_MASK_IMAGE | ||
+ | uint8_t reserved; | ||
+ | uint32_t temperature; // valid if eventMask has BS2_EVENT_MASK_TEMPERATURE | ||
+ | } BS2EventSmallBlobEx; | ||
+ | </code> | ||
+ | \\ | ||
+ | |||
+ | 1. //eventMask// \\ | ||
+ | Event mask값입니다. mask값에 따라서 해당 ID(User, card, door, zone)값을 인식할 수 있습니다.\\ \\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |0x0000 |없음 | | ||
+ | |0x0001 |BS2EventExtInfo 구조체 | | ||
+ | |0x0002 |User ID | | ||
+ | |0x0004 |Card ID | | ||
+ | |0x0008 |Door ID | | ||
+ | |0x0010 |Zone ID | | ||
+ | |0x0020 |BS2EventExtIoDevice 구조체 | | ||
+ | |0x0040 |TNA Key | | ||
+ | |0x0080 |Job Code | | ||
+ | |0x0100 |Image | | ||
+ | |0x0200 |Temperature | | ||
+ | |0xFFFF |ALL | | ||
+ | </WRAP> | ||
+ | 2. //id// \\ | ||
+ | 로그 레코드의 식별자이며 로그가 발생될 때마다 1부터 자동으로 증가합니다. \\ \\ | ||
+ | 3. //info// \\ | ||
+ | BS2EventExtInfo 구조체 정보입니다. \\ \\ | ||
+ | 4. //userID// \\ | ||
+ | 로그와 관련된 사용자 식별자로써 사용자와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | ||
+ | 5. //cardID// \\ | ||
+ | 로그와 관련된 card 식별자로써 card와 관련 없는 로그일 경우 0으로 설정됩니다. \\ | ||
+ | 인증 실패의 경우에만 기록하며, 인증 성공의 경우에는 eventMask와 상관없이 user ID를 리턴합니다. \\ \\ | ||
+ | 6. //doorID// \\ | ||
+ | 로그와 관련된 door 식별자로써 door와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | ||
+ | 7. //zoneID// \\ | ||
+ | 로그와 관련된 zone 식별자로써 zone와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | ||
+ | 8. //ioDevice// \\ | ||
+ | Door나 Input 장치의 식별자로 Door나 Input 장치와 관련 없는 로그일 경우 0으로 설정됩니다. (BS2EventExtIoDevice 구조체 참고)\\ \\ | ||
+ | 9. //tnaKey// \\ | ||
+ | 이벤트 발생 장치의 추가 정보가 필요할 경우에만 사용되고, 주로 근태 코드나 출입문이나 입력 장치의 포트 번호가 저장됩니다 \\ \\ | ||
+ | 10. //jobCode// \\ | ||
+ | 사용자 정보에 JobCode가 존재했을 경우에, JobCode 사용하여 인증 할 때 사용자의 JobCode 값을 말합니다. \\ \\ | ||
+ | 11. //imageSize// \\ | ||
+ | 이벤트 발생되었을 때 이미지 size를 말합니다. \\ \\ | ||
+ | 12. //imageObj// \\ | ||
+ | 이벤트 발생되었을 때 이미지 정보가 포함될 경우에 사용됩니다 \\ \\ | ||
+ | 13. //temperature// \\ | ||
+ | 열화상 카메라가 설치되어 있으며, 로그를 남기도록 설정이 되어 있는경우 체온정보가 설정됩니다. [[configuration api#BS2FaceConfigExt|auditTemperature 참조]] \\ \\ | ||
+ | 14. //reserved// \\ | ||
예약된 공간입니다.\\ \\ | 예약된 공간입니다.\\ \\ |