차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
ko:log_management_api [2020/02/17 19:48]
kkshin
ko:log_management_api [2020/08/21 14:18]
kkshin
줄 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%>
 +^값  ^설명 ​ ^
 +|0     ​|없음 ​ |
 +|1     ​|BS2EventExtInfo 구조체 |
 +|2     |User ID |
 +|4     |Card ID |
 +|8     |Door ID |
 +|16    |Zone ID |
 +|32    |BS2EventExtIoDevice 구조체 ​ |
 +|64    |Door ID |
 +|128   |Zone ID |
 +|256   |TNA Key |
 +|512   |Job Code |
 +|1024  |Image |
 +|65535 |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//​ \\ 
 예약된 공간입니다.\\ \\ 예약된 공간입니다.\\ \\