Skip to content

Commit 68e0751

Browse files
Make sure serialized objects have friend struct tesseract_common::Serialization
1 parent 2b6606e commit 68e0751

File tree

60 files changed

+112
-6
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+112
-6
lines changed

tesseract_collision/core/include/tesseract_collision/core/contact_result_validator.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include <memory>
3030
#include <boost/serialization/access.hpp>
3131
#include <boost/serialization/export.hpp>
32+
#include <tesseract_common/fwd.h>
3233

3334
namespace tesseract_collision
3435
{
@@ -51,8 +52,9 @@ class ContactResultValidator
5152

5253
virtual bool operator()(const ContactResult&) const = 0;
5354

54-
protected:
55+
private:
5556
friend class boost::serialization::access;
57+
friend struct tesseract_common::Serialization;
5658
template <class Archive>
5759
void serialize(Archive& ar, const unsigned int version); // NOLINT
5860
};

tesseract_common/include/tesseract_common/allowed_collision_matrix.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ class access;
1818

1919
namespace tesseract_common
2020
{
21+
struct Serialization;
22+
2123
using AllowedCollisionEntries =
2224
std::unordered_map<tesseract_common::LinkNamesPair, std::string, tesseract_common::PairHash>;
2325

@@ -104,6 +106,7 @@ class AllowedCollisionMatrix
104106
AllowedCollisionEntries lookup_table_;
105107

106108
friend class boost::serialization::access;
109+
friend struct tesseract_common::Serialization;
107110
template <class Archive>
108111
void serialize(Archive& ar, const unsigned int version); // NOLINT
109112
};

tesseract_common/include/tesseract_common/any_poly.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ using UMapStringSizeTAnyPoly = AnyWrapper<std::unordered_map<std::string, std::s
252252

253253
} // namespace tesseract_common
254254

255-
BOOST_CLASS_EXPORT_KEY(tesseract_common::AnyInterface)
255+
BOOST_SERIALIZATION_ASSUME_ABSTRACT(tesseract_common::AnyInterface)
256256
BOOST_CLASS_TRACKING(tesseract_common::AnyInterface, boost::serialization::track_never)
257257

258258
BOOST_CLASS_EXPORT_KEY(tesseract_common::AnyPoly)

tesseract_common/include/tesseract_common/calibration_info.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#ifndef TESSERACT_COMMON_CALIBRATION_INFO_H
2727
#define TESSERACT_COMMON_CALIBRATION_INFO_H
2828

29+
#include <tesseract_common/fwd.h>
2930
#include <tesseract_common/eigen_types.h>
3031

3132
#include <boost/serialization/export.hpp>
@@ -69,6 +70,7 @@ struct CalibrationInfo
6970

7071
private:
7172
friend class boost::serialization::access;
73+
friend struct tesseract_common::Serialization;
7274
template <class Archive>
7375
void serialize(Archive& ar, const unsigned int version); // NOLINT
7476
};

tesseract_common/include/tesseract_common/collision_margin_data.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ class CollisionMarginPairData
150150
void updateCollisionMarginMax();
151151

152152
friend class boost::serialization::access;
153+
friend struct tesseract_common::Serialization;
153154
template <class Archive>
154155
void serialize(Archive& ar, const unsigned int version); // NOLINT
155156
};
@@ -247,6 +248,7 @@ class CollisionMarginData
247248
CollisionMarginPairData pair_margins_;
248249

249250
friend class boost::serialization::access;
251+
friend struct tesseract_common::Serialization;
250252
template <class Archive>
251253
void serialize(Archive& ar, const unsigned int version); // NOLINT
252254
};

tesseract_common/include/tesseract_common/contact_allowed_validator.h

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@ class ContactAllowedValidator
4848

4949
virtual bool operator()(const std::string&, const std::string&) const = 0;
5050

51-
protected:
51+
private:
5252
friend class boost::serialization::access;
53+
friend struct tesseract_common::Serialization;
5354
template <class Archive>
5455
void serialize(Archive& ar, const unsigned int version); // NOLINT
5556
};
@@ -70,7 +71,9 @@ class ACMContactAllowedValidator : public ContactAllowedValidator
7071
protected:
7172
tesseract_common::AllowedCollisionMatrix acm_;
7273

74+
private:
7375
friend class boost::serialization::access;
76+
friend struct tesseract_common::Serialization;
7477
template <class Archive>
7578
void serialize(Archive& ar, const unsigned int version); // NOLINT
7679
};
@@ -102,14 +105,16 @@ class CombinedContactAllowedValidator : public ContactAllowedValidator
102105
std::vector<std::shared_ptr<const ContactAllowedValidator>> validators_;
103106
CombinedContactAllowedValidatorType type_{ CombinedContactAllowedValidatorType::OR };
104107

108+
private:
105109
friend class boost::serialization::access;
110+
friend struct tesseract_common::Serialization;
106111
template <class Archive>
107112
void serialize(Archive& ar, const unsigned int version); // NOLINT
108113
};
109114

110115
} // namespace tesseract_common
111116

112-
BOOST_CLASS_EXPORT_KEY(tesseract_common::ContactAllowedValidator)
117+
BOOST_SERIALIZATION_ASSUME_ABSTRACT(tesseract_common::ContactAllowedValidator)
113118
BOOST_CLASS_EXPORT_KEY(tesseract_common::ACMContactAllowedValidator)
114119
BOOST_CLASS_EXPORT_KEY(tesseract_common::CombinedContactAllowedValidator)
115120

tesseract_common/include/tesseract_common/joint_state.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ class access;
4444

4545
namespace tesseract_common
4646
{
47+
struct Serialization;
48+
4749
class JointState
4850
{
4951
public:
@@ -74,6 +76,7 @@ class JointState
7476

7577
private:
7678
friend class boost::serialization::access;
79+
friend struct tesseract_common::Serialization;
7780
template <class Archive>
7881
void serialize(Archive& ar, const unsigned int version); // NOLINT
7982
};
@@ -234,6 +237,7 @@ class JointTrajectory
234237

235238
private:
236239
friend class boost::serialization::access;
240+
friend struct tesseract_common::Serialization;
237241
template <class Archive>
238242
void serialize(Archive& ar, const unsigned int version); // NOLINT
239243
};

tesseract_common/include/tesseract_common/kinematic_limits.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ TESSERACT_COMMON_IGNORE_WARNINGS_POP
3535

3636
namespace tesseract_common
3737
{
38+
struct Serialization;
39+
3840
/** @brief Store kinematic limits */
3941
struct KinematicLimits
4042
{
@@ -61,6 +63,7 @@ struct KinematicLimits
6163

6264
private:
6365
friend class boost::serialization::access;
66+
friend struct tesseract_common::Serialization;
6467
template <class Archive>
6568
void serialize(Archive& ar, const unsigned int version); // NOLINT
6669
};

tesseract_common/include/tesseract_common/manipulator_info.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ TESSERACT_COMMON_IGNORE_WARNINGS_POP
3737

3838
namespace tesseract_common
3939
{
40+
struct Serialization;
4041
/**
4142
* @brief Contains information about a robot manipulator
4243
*/
@@ -93,6 +94,7 @@ struct ManipulatorInfo
9394

9495
private:
9596
friend class boost::serialization::access;
97+
friend struct tesseract_common::Serialization;
9698

9799
template <class Archive>
98100
void serialize(Archive& ar, const unsigned int version); // NOLINT

tesseract_common/include/tesseract_common/plugin_info.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ class access;
4444

4545
namespace tesseract_common
4646
{
47+
struct Serialization;
48+
4749
/** @brief The Plugin Information struct */
4850
// NOLINTNEXTLINE
4951
struct PluginInfo
@@ -62,6 +64,7 @@ struct PluginInfo
6264

6365
private:
6466
friend class boost::serialization::access;
67+
friend struct tesseract_common::Serialization;
6568
template <class Archive>
6669
void save(Archive& ar, const unsigned int version) const; // NOLINT
6770

@@ -86,6 +89,7 @@ struct PluginInfoContainer
8689

8790
private:
8891
friend class boost::serialization::access;
92+
friend struct tesseract_common::Serialization;
8993
template <class Archive>
9094
void serialize(Archive& ar, const unsigned int version); // NOLINT
9195
};
@@ -122,6 +126,7 @@ struct KinematicsPluginInfo
122126

123127
private:
124128
friend class boost::serialization::access;
129+
friend struct tesseract_common::Serialization;
125130
template <class Archive>
126131
void serialize(Archive& ar, const unsigned int version); // NOLINT
127132
};
@@ -158,6 +163,7 @@ struct ContactManagersPluginInfo
158163

159164
private:
160165
friend class boost::serialization::access;
166+
friend struct tesseract_common::Serialization;
161167
template <class Archive>
162168
void serialize(Archive& ar, const unsigned int version); // NOLINT
163169
};
@@ -194,6 +200,7 @@ struct TaskComposerPluginInfo
194200

195201
private:
196202
friend class boost::serialization::access;
203+
friend struct tesseract_common::Serialization;
197204
template <class Archive>
198205
void serialize(Archive& ar, const unsigned int version); // NOLINT
199206
};

0 commit comments

Comments
 (0)