나는 맥 파일 시스템 이벤트 API (여기서는 apple developer doc)를 사용하여 C++에서 간단한 파일 시스템 감시자를 만들었습니다. 제 질문은 제목에 있습니다. 변경된 사항의 경로를 얻으려면 어떻게해야합니까? eventPaths 배열은 필자가 본질적으로 본 부모 디렉토리 (또는 그 집합)의 경로만을 제공합니다. 그러나 수정 된 기본 디렉토리 항목은 아닙니다.FSEvent ID에서 파일 이름을 가져올 수 있습니까?
나는 콜백, 즉 : 나는 아마 이름이 이러한 항목 중 하나에서 추출 할 수있는
static void mycallback(
ConstFSEventStreamRef streamRef,
void *clientCallBackInfo,
size_t numEvents,
void *eventPaths,
const FSEventStreamEventFlags eventFlags[],
const FSEventStreamEventId eventIds[])
을 생각하고 있어요을 사용하여 유용한 정보를 잡을 수 있습니까?
편집 :
예를 들어, 하나의 파일이
kFSEventStreamEventFlagItemCreated
가 발생하는 경우에 생성 될 수도 있습니다. 그러나 해당 항목의 실제 이름을 얻으려면 어떻게해야합니까? (항목이 삭제 될 때와 같이 다른 이벤트의 경우와 유사하게).
편집 2 :
는 나는 내가 원하는 일을 할 수 없을 것이라고 생각하기 시작하고있다. FS tech overview에서
"알림의 세분성은 디렉터리 수준이며 디렉터리의 내용이 변경되었음을 알려주지 만 변경된 내용은 알려주지 않습니다."
아카. 도청 전문가.
건배,
벤.
정말요? 훌륭한! 감사! :-)보세요 ... –
정확히 내가 원했던 것입니다. 탐색하는 서브 디렉토리의 수와 마찬가지로 검색 프로세스의 깊이를 제한 할 수 있는지 알고 있습니까? 건배. –
내가 아는 바가 없다. 나는 당신이 그것을 수동으로해야 할 것이라고 생각합니다. – Kat