summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
Diffstat (limited to 'node')
-rw-r--r--node/CertificateOfMembership.hpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/node/CertificateOfMembership.hpp b/node/CertificateOfMembership.hpp
index b5a7947b..7f3dcbb3 100644
--- a/node/CertificateOfMembership.hpp
+++ b/node/CertificateOfMembership.hpp
@@ -367,6 +367,24 @@ public:
return (p - startAt);
}
+ inline bool operator==(const CertificateOfMembership &c) const
+ throw()
+ {
+ if (_signedBy != c._signedBy)
+ return false;
+ // We have to compare in depth manually since == only compares id
+ if (_qualifiers.size() != c._qualifiers.size())
+ return false;
+ for(unsigned long i=0;i<_qualifiers.size();++i) {
+ const _Qualifier &a = _qualifiers[i];
+ const _Qualifier &b = c._qualifiers[i];
+ if ((a.id != b.id)||(a.value != b.value)||(a.maxDelta != b.maxDelta))
+ return false;
+ }
+ return (_signature == c._signature);
+ }
+ inline bool operator!=(const CertificateOfMembership &c) const throw() { return (!(*this == c)); }
+
private:
struct _Qualifier
{