1 //
2 // Copyright 2018 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 
25 #include "pxr/pxr.h"
26 #include "pxr/base/tf/declarePtrs.h"
27 #include "pxr/base/tf/pyPtrHelpers.h"
28 #include "pxr/usd/ndr/discoveryPlugin.h"
29 
30 #include <boost/python.hpp>
31 
32 using namespace boost::python;
33 
34 PXR_NAMESPACE_USING_DIRECTIVE
35 
wrapDiscoveryPluginContext()36 static void wrapDiscoveryPluginContext()
37 {
38     typedef NdrDiscoveryPluginContext This;
39     typedef TfWeakPtr<NdrDiscoveryPluginContext> ThisPtr;
40 
41     class_<This, ThisPtr, boost::noncopyable>("DiscoveryPluginContext", no_init)
42         .def(TfPyWeakPtr())
43         .def("GetSourceType", pure_virtual(&This::GetSourceType))
44         ;
45 }
46 
wrapDiscoveryPlugin()47 void wrapDiscoveryPlugin()
48 {
49     typedef NdrDiscoveryPlugin This;
50     typedef NdrDiscoveryPluginPtr ThisPtr;
51 
52     return_value_policy<copy_const_reference> copyRefPolicy;
53 
54     class_<This, ThisPtr, boost::noncopyable>("DiscoveryPlugin", no_init)
55         .def(TfPyWeakPtr())
56         .def("DiscoverNodes", pure_virtual(&This::DiscoverNodes))
57         .def("GetSearchURIs", pure_virtual(&This::GetSearchURIs), copyRefPolicy)
58         ;
59 
60     wrapDiscoveryPluginContext();
61 }
62