According to Apple documentation , in the FSEvents
,
kFSEventStreamEventFlagItemCreated = 0x00000100, kFSEventStreamEventFlagItemRemoved = 0x00000200, kFSEventStreamEventFlagItemInodeMetaMod = 0x00000400, kFSEventStreamEventFlagItemRenamed = 0x00000800, kFSEventStreamEventFlagItemModified = 0x00001000, kFSEventStreamEventFlagItemFinderInfoMod = 0x00002000, kFSEventStreamEventFlagItemChangeOwner = 0x00004000, kFSEventStreamEventFlagItemXattrMod = 0x00008000, kFSEventStreamEventFlagItemIsFile = 0x00010000, kFSEventStreamEventFlagItemIsDir = 0x00020000, kFSEventStreamEventFlagItemIsSymlink = 0x00040000
However, I triple checked that the kFSEventStreamCreateFlagFileEvents
flag kFSEventStreamCreateFlagFileEvents
not set when calling
FSEventStreamRef FSEventStreamCreate( CFAllocatorRef allocator, FSEventStreamCallback callback, FSEventStreamContext *context, CFArrayRef pathsToWatch, FSEventStreamEventId sinceWhen, CFTimeInterval latency, FSEventStreamCreateFlags flags);
But no matter what I do, the kFSEventStreamEventFlagItem*
flags are still set when events are passed to me from the FSEvents
API. I suspect this is a mistake, but I'm not quite sure. I am using OS X Lion 10.7.2
Sample code can be found here. http://stuconnolly.com/downloads/scevents/
EDIT
Question:
Has anyone else experienced the same results?
Is this a behavior I can rely on to check file event flags?
source share