HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
notice.h
Go to the documentation of this file.
1 //
2 // Copyright 2016 Pixar
3 //
4 // Licensed under the terms set forth in the LICENSE.txt file available at
5 // https://openusd.org/license.
6 //
7 #ifndef PXR_BASE_PLUG_NOTICE_H
8 #define PXR_BASE_PLUG_NOTICE_H
9 
10 #include "pxr/pxr.h"
11 #include "pxr/base/plug/api.h"
13 #include "pxr/base/tf/notice.h"
14 
16 
18 
19 /// \class PlugNotice
20 /// Notifications sent by the Plug library.
22 {
23 public:
24  /// Base class for all Plug notices.
25  class Base : public TfNotice
26  {
27  public:
28  PLUG_API virtual ~Base();
29  };
30 
31  /// Notice sent after new plugins have been registered with the Plug
32  /// registry.
33  class DidRegisterPlugins : public Base
34  {
35  public:
36  explicit DidRegisterPlugins(const PlugPluginPtrVector& newPlugins);
37  PLUG_API virtual ~DidRegisterPlugins();
38 
39  const PlugPluginPtrVector& GetNewPlugins() const
40  { return _plugins; }
41 
42  private:
43  PlugPluginPtrVector _plugins;
44  };
45 
46 private:
47  PlugNotice();
48 };
49 
51 
52 #endif // PXR_BASE_PLUG_NOTICE_H
const PlugPluginPtrVector & GetNewPlugins() const
Definition: notice.h:39
PXR_NAMESPACE_OPEN_SCOPE TF_DECLARE_WEAK_PTRS(PlugPlugin)
virtual PLUG_API ~DidRegisterPlugins()
virtual PLUG_API ~Base()
DidRegisterPlugins(const PlugPluginPtrVector &newPlugins)
Base class for all Plug notices.
Definition: notice.h:25
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
#define PLUG_API
Definition: api.h:23
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74