OLD | NEW |
1 //-***************************************************************************** | 1 //-***************************************************************************** |
2 // | 2 // |
3 // Copyright (c) 2009-2010, | 3 // Copyright (c) 2009-2010, |
4 // Sony Pictures Imageworks Inc. and | 4 // Sony Pictures Imageworks Inc. and |
5 // Industrial Light & Magic, a division of Lucasfilm Entertainment Company Ltd. | 5 // Industrial Light & Magic, a division of Lucasfilm Entertainment Company Ltd. |
6 // | 6 // |
7 // All rights reserved. | 7 // All rights reserved. |
8 // | 8 // |
9 // Redistribution and use in source and binary forms, with or without | 9 // Redistribution and use in source and binary forms, with or without |
10 // modification, are permitted provided that the following conditions are | 10 // modification, are permitted provided that the following conditions are |
(...skipping 21 matching lines...) Expand all Loading... |
32 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 32 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
33 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 33 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
34 // | 34 // |
35 //-***************************************************************************** | 35 //-***************************************************************************** |
36 | 36 |
37 #ifndef _Alembic_AbcCoreHDF5_BaseOrImpl_h_ | 37 #ifndef _Alembic_AbcCoreHDF5_BaseOrImpl_h_ |
38 #define _Alembic_AbcCoreHDF5_BaseOrImpl_h_ | 38 #define _Alembic_AbcCoreHDF5_BaseOrImpl_h_ |
39 | 39 |
40 #include <Alembic/AbcCoreHDF5/Foundation.h> | 40 #include <Alembic/AbcCoreHDF5/Foundation.h> |
41 #include <Alembic/AbcCoreHDF5/ProtoObjectReader.h> | 41 #include <Alembic/AbcCoreHDF5/ProtoObjectReader.h> |
| 42 #include <boost/thread/mutex.hpp> |
42 | 43 |
43 namespace Alembic { | 44 namespace Alembic { |
44 namespace AbcCoreHDF5 { | 45 namespace AbcCoreHDF5 { |
45 namespace ALEMBIC_VERSION_NS { | 46 namespace ALEMBIC_VERSION_NS { |
46 | 47 |
47 //-***************************************************************************** | 48 //-***************************************************************************** |
48 class TopCprImpl; | 49 class TopCprImpl; |
49 | 50 |
50 //-***************************************************************************** | 51 //-***************************************************************************** |
51 class BaseOrImpl : public AbcA::ObjectReader | 52 class BaseOrImpl : public AbcA::ObjectReader |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 AbcA::ArchiveReaderPtr m_archive; | 101 AbcA::ArchiveReaderPtr m_archive; |
101 | 102 |
102 // The proto. | 103 // The proto. |
103 ProtoObjectReaderPtr m_proto; | 104 ProtoObjectReaderPtr m_proto; |
104 | 105 |
105 // The properties | 106 // The properties |
106 // We own these. | 107 // We own these. |
107 // They are a special kind of compound property which only weak links | 108 // They are a special kind of compound property which only weak links |
108 // back up to us, so no pointer cycles. | 109 // back up to us, so no pointer cycles. |
109 TopCprImpl *m_properties; | 110 TopCprImpl *m_properties; |
| 111 boost::mutex m_propertiesMutex; |
110 | 112 |
111 // The children | 113 // The children |
112 ProtoObjects m_protoObjects; | 114 ProtoObjects m_protoObjects; |
113 ChildrenMap m_children; | 115 ChildrenMap m_children; |
| 116 private: |
| 117 // We aren't copyable |
| 118 BaseOrImpl( const BaseOrImpl & input); |
| 119 const BaseOrImpl & operator=(const BaseOrImpl & rhs); |
114 }; | 120 }; |
115 | 121 |
116 } // End namespace ALEMBIC_VERSION_NS | 122 } // End namespace ALEMBIC_VERSION_NS |
117 | 123 |
118 using namespace ALEMBIC_VERSION_NS; | 124 using namespace ALEMBIC_VERSION_NS; |
119 | 125 |
120 } // End namespace AbcCoreHDF5 | 126 } // End namespace AbcCoreHDF5 |
121 } // End namespace Alembic | 127 } // End namespace Alembic |
122 | 128 |
123 #endif | 129 #endif |
OLD | NEW |