Ocean
platform/apple/Apple.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) Meta Platforms, Inc. and affiliates.
3
*
4
* This source code is licensed under the MIT license found in the
5
* LICENSE file in the root directory of this source tree.
6
*/
7
8
#ifndef META_OCEAN_PLATFORM_APPLE_APPLE_H
9
#define META_OCEAN_PLATFORM_APPLE_APPLE_H
10
11
#include "
ocean/platform/Platform.h
"
12
13
#include "
ocean/base/ScopedObject.h
"
14
15
#ifndef OCEAN_PLATFORM_BUILD_APPLE
16
#error This library is available on Apple platforms only!
17
#endif
18
19
#include <CoreFoundation/CoreFoundation.h>
20
21
#include <CoreGraphics/CoreGraphics.h>
22
23
namespace
Ocean
24
{
25
26
namespace
Platform
27
{
28
29
namespace
Apple
30
{
31
32
/**
33
* @ingroup platform
34
* @defgroup platformapple Ocean Platform Apple Library
35
* @{
36
* The Ocean Apple Library provides specific functionalities for Apple platforms.
37
* The library is available on Apple platforms only.
38
* @}
39
*/
40
41
/**
42
* @namespace Ocean::Platform::Apple Namespace of the Platform Apple library.<p>
43
* The Namespace Ocean::Platform::Apple is used in the entire Ocean Platform Apple Library.
44
*/
45
46
/**
47
* Definition of a scoped object holding a CFStringRef object.
48
* The wrapped CFStringRef object will be released automatically once the scoped object does not exist anymore.
49
* @ingroup platformapple
50
*/
51
using
ScopedCFStringRef
=
ScopedObjectCompileTimeT<CFStringRef, CFTypeRef, void, CFRelease>
;
52
53
/**
54
* Definition of a scoped object holding a CFURLRef object.
55
* The wrapped CFURLRef object will be released automatically once the scoped object does not exist anymore.
56
* @ingroup platformapple
57
*/
58
using
ScopedCFURLRef
=
ScopedObjectCompileTimeT<CFURLRef, CFTypeRef, void, CFRelease>
;
59
60
/**
61
* Definition of a scoped object holding a CFDataRef object.
62
* The wrapped CFDataRef object will be released automatically once the scoped object does not exist anymore.
63
* @ingroup platformapple
64
*/
65
using
ScopedCFDataRef
=
ScopedObjectCompileTimeT<CFDataRef, CFTypeRef, void, CFRelease>
;
66
67
/**
68
* Definition of a scoped object holding a CFMutableDataRef object.
69
* The wrapped CFMutableDataRef object will be released automatically once the scoped object does not exist anymore.
70
* @ingroup platformapple
71
*/
72
using
ScopedCFMutableDataRef
=
ScopedObjectCompileTimeT<CFMutableDataRef, CFTypeRef, void, CFRelease>
;
73
74
/**
75
* Definition of a scoped object holding a CGImageRef object.
76
* The wrapped CGImageRef object will be released automatically once the scoped object does not exist anymore.
77
* @ingroup platformapple
78
*/
79
using
ScopedCGImageRef
=
ScopedObjectCompileTimeVoidT<CGImageRef, CGImageRelease>
;
80
81
/**
82
* Definition of a scoped object holding a CGDataProviderRef object.
83
* The wrapped CGDataProviderRef object will be released automatically once the scoped object does not exist anymore.
84
* @ingroup platformapple
85
*/
86
using
ScopedCGDataProviderRef
=
ScopedObjectCompileTimeVoidT<CGDataProviderRef, CGDataProviderRelease>
;
87
88
/**
89
* Definition of a scoped object holding a CGColorSpaceRef object.
90
* The wrapped CGColorSpaceRef object will be released automatically once the scoped object does not exist anymore.
91
* @ingroup platformapple
92
*/
93
using
ScopedCGColorSpaceRef
=
ScopedObjectCompileTimeVoidT<CGColorSpaceRef, CGColorSpaceRelease>
;
94
95
/**
96
* Definition of a scoped object holding a CFNumberRef object.
97
* The wrapped CFNumberRef object will be released automatically once the scoped object does not exist anymore.
98
* @ingroup platformapple
99
*/
100
using
ScopedCFNumberRef
=
ScopedObjectCompileTimeT<CFNumberRef, CFTypeRef, void, CFRelease>
;
101
102
/**
103
* Definition of a scoped object holding a CFDictionaryRef object.
104
* The wrapped CFDictionaryRef object will be released automatically once the scoped object does not exist anymore.
105
* @ingroup platformapple
106
*/
107
using
ScopedCFDictionaryRef
=
ScopedObjectCompileTimeT<CFDictionaryRef, CFTypeRef, void, CFRelease>
;
108
109
/**
110
* Definition of a scoped object holding a CFType object.
111
* The wrapped CFType object will be released automatically once the scoped object does not exist anymore.
112
* @ingroup platformapple
113
*/
114
using
ScopedCFTypeRef
=
ScopedObjectCompileTimeVoidT<CFTypeRef, CFRelease>
;
115
116
}
117
118
}
119
120
}
121
122
#endif
// META_OCEAN_PLATFORM_APPLE_APPLE_H
Platform.h
ScopedObject.h
Ocean::ScopedObjectCompileTimeT
This class wraps an unmanaged object (or reference) which needs to be released after usage.
Definition:
ScopedObject.h:166
Ocean
The namespace covering the entire Ocean framework.
Definition:
Accessor.h:15
impl
ocean
platform
apple
Apple.h
Generated on Tue Nov 12 2024 06:06:35 for Ocean by
1.9.1