HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
resolverContextBinder.h
Go to the documentation of this file.
1
//
2
// Copyright 2016 Pixar
3
//
4
// Licensed under the Apache License, Version 2.0 (the "Apache License")
5
// with the following modification; you may not use this file except in
6
// compliance with the Apache License and the following modification to it:
7
// Section 6. Trademarks. is deleted and replaced with:
8
//
9
// 6. Trademarks. This License does not grant permission to use the trade
10
// names, trademarks, service marks, or product names of the Licensor
11
// and its affiliates, except as required to comply with Section 4(c) of
12
// the License and to reproduce the content of the NOTICE file.
13
//
14
// You may obtain a copy of the Apache License at
15
//
16
// http://www.apache.org/licenses/LICENSE-2.0
17
//
18
// Unless required by applicable law or agreed to in writing, software
19
// distributed under the Apache License with the above modification is
20
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
// KIND, either express or implied. See the Apache License for the specific
22
// language governing permissions and limitations under the Apache License.
23
//
24
#ifndef PXR_USD_AR_RESOLVER_CONTEXT_BINDER_H
25
#define PXR_USD_AR_RESOLVER_CONTEXT_BINDER_H
26
27
/// \file ar/resolverContextBinder.h
28
29
#include "
pxr/pxr.h
"
30
#include "
pxr/usd/ar/api.h
"
31
#include "
pxr/usd/ar/resolverContext.h
"
32
#include "
pxr/base/vt/value.h
"
33
34
PXR_NAMESPACE_OPEN_SCOPE
35
36
class
ArResolver
;
37
38
/// \class ArResolverContextBinder
39
///
40
/// Helper object for managing the binding and unbinding of
41
/// ArResolverContext objects with the asset resolver.
42
///
43
/// Context binding and unbinding are thread-specific. If you bind a context in
44
/// a thread, that binding will only be visible to that thread.
45
/// See \ref ar_resolver_contexts "Resolver Contexts" for more details.
46
///
47
/// \see \ref ArResolver_context "Asset Resolver Context Operations"
48
class
ArResolverContextBinder
49
{
50
public
:
51
/// Bind the given \p context with the asset resolver.
52
///
53
/// Calls ArResolver::BindContext on the configured asset resolver
54
/// and saves the bindingData populated by that function.
55
AR_API
56
ArResolverContextBinder
(
57
const
ArResolverContext
& context);
58
59
/// Bind the given \p context to the given \p assetResolver.
60
///
61
/// Calls ArResolver::BindContext on the given \p assetResolver
62
/// and saves the bindingData populated by that function.
63
AR_API
64
ArResolverContextBinder
(
65
ArResolver
* assetResolver,
66
const
ArResolverContext
& context);
67
68
/// Unbinds the context specified in the constructor of this
69
/// object from the asset resolver.
70
///
71
/// Calls ArResolver::UnbindContext on the asset resolver that was
72
/// bound to originally, passing the saved bindingData to that function.
73
AR_API
74
~ArResolverContextBinder
();
75
76
private
:
77
ArResolver
* _resolver;
78
ArResolverContext
_context;
79
VtValue
_bindingData;
80
};
81
82
PXR_NAMESPACE_CLOSE_SCOPE
83
84
#endif // PXR_USD_AR_RESOLVER_CONTEXT_BINDER_H
value.h
AR_API
#define AR_API
Definition:
api.h:40
resolverContext.h
api.h
ArResolverContextBinder::~ArResolverContextBinder
AR_API ~ArResolverContextBinder()
pxr.h
PXR_NAMESPACE_OPEN_SCOPE
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition:
path.h:1432
PXR_NAMESPACE_CLOSE_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition:
pxr.h:91
ArResolverContext
Definition:
resolverContext.h:124
ArResolverContextBinder::ArResolverContextBinder
AR_API ArResolverContextBinder(const ArResolverContext &context)
ArResolverContextBinder
Definition:
resolverContextBinder.h:48
VtValue
Definition:
value.h:164
ArResolver
Definition:
resolver.h:59
pxr
usd
ar
resolverContextBinder.h
Generated on Sun Nov 17 2024 03:02:55 for HDK by
1.8.6