diff --git a/include/MacStd/CoreServices.hpp b/include/MacStd/CoreServices.hpp new file mode 100644 index 0000000..5e72da4 --- /dev/null +++ b/include/MacStd/CoreServices.hpp @@ -0,0 +1,34 @@ +/* + SPDX-License-Identifier: MIT + Copyright © 2025 Amebis +*/ + +#pragma once + +#include "common.hpp" +#include + +namespace macstd { + /// + /// FS event stream traits + /// + struct fs_event_stream_traits + { + static inline constexpr FSEventStreamRef invalid = static_cast(NULL); + + /// + /// Releases an object handle + /// + /// \sa [FSEventStreamRelease function](https://developer.apple.com/documentation/coreservices/1445989-fseventstreamrelease) + /// + static void free(FSEventStreamRef h) noexcept + { + FSEventStreamRelease(h); + } + + private: + static FSEventStreamRef duplicate(FSEventStreamRef h); + }; + + using fs_event_stream = handle; +}