From b71a7511d8b76922b738c0f8102a85d27b673b8e Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Tue, 18 May 2010 11:40:04 -0300 Subject: API fixes. * Export enums without macro * Declare virtual destructor on all classes with virtual functions * Fix extern "C" declaration scope Reviewer: Hugo Parente Lima , Marcelo Lira --- tests/libsample/derived.h | 2 +- tests/libsample/functions.h | 4 ++-- tests/libsample/listuser.h | 2 +- tests/libsample/mapuser.h | 2 +- tests/libsample/modifications.h | 4 ++-- tests/libsample/multiple_derived.h | 10 +++++----- tests/libsample/nondefaultctor.h | 2 ++ tests/libsample/oddbool.h | 3 ++- tests/libsample/pairuser.h | 2 +- tests/libsample/reference.h | 2 +- tests/libsample/samplenamespace.h | 8 ++++---- tests/libsample/virtualmethods.h | 2 +- 12 files changed, 23 insertions(+), 20 deletions(-) (limited to 'tests') diff --git a/tests/libsample/derived.h b/tests/libsample/derived.h index e6d3f0fb3..58c3b2109 100644 --- a/tests/libsample/derived.h +++ b/tests/libsample/derived.h @@ -38,7 +38,7 @@ #include "libsamplemacros.h" #include "abstract.h" -enum LIBSAMPLE_API OverloadedFuncEnum { +enum OverloadedFuncEnum { OverloadedFunc_ii, OverloadedFunc_d }; diff --git a/tests/libsample/functions.h b/tests/libsample/functions.h index 136f9c517..8c93d7c98 100644 --- a/tests/libsample/functions.h +++ b/tests/libsample/functions.h @@ -41,14 +41,14 @@ #include "complex.h" #include "objecttype.h" -enum LIBSAMPLE_API GlobalEnum { +enum GlobalEnum { NoThing, FirstThing, SecondThing, ThirdThing }; -enum LIBSAMPLE_API GlobalOverloadFuncEnum { +enum GlobalOverloadFuncEnum { GlobalOverloadFunc_i, GlobalOverloadFunc_d }; diff --git a/tests/libsample/listuser.h b/tests/libsample/listuser.h index 52dea8bda..67dc95e44 100644 --- a/tests/libsample/listuser.h +++ b/tests/libsample/listuser.h @@ -48,7 +48,7 @@ public: ListUser() {} ListUser(const ListUser& other) : m_lst(other.m_lst) {} - ~ListUser() {} + virtual ~ListUser() {} virtual std::list createList(); std::list callCreateList(); diff --git a/tests/libsample/mapuser.h b/tests/libsample/mapuser.h index 743a7e533..78cc4f34c 100644 --- a/tests/libsample/mapuser.h +++ b/tests/libsample/mapuser.h @@ -46,7 +46,7 @@ class LIBSAMPLE_API MapUser { public: MapUser() {} - ~MapUser() {} + virtual ~MapUser() {} virtual std::map > createMap(); std::map > callCreateMap(); diff --git a/tests/libsample/modifications.h b/tests/libsample/modifications.h index 2014b7ecf..d5c6d8ebf 100644 --- a/tests/libsample/modifications.h +++ b/tests/libsample/modifications.h @@ -43,7 +43,7 @@ class LIBSAMPLE_API Modifications { public: Modifications() {} - ~Modifications() {} + virtual ~Modifications() {} enum OverloadedModFunc { OverloadedNone, @@ -111,7 +111,7 @@ class LIBSAMPLE_API AbstractModifications : public Modifications { public: AbstractModifications() {} - ~AbstractModifications() {} + virtual ~AbstractModifications() {} bool invert(bool value) { return !value; } diff --git a/tests/libsample/multiple_derived.h b/tests/libsample/multiple_derived.h index 92023f4fa..6154086d2 100644 --- a/tests/libsample/multiple_derived.h +++ b/tests/libsample/multiple_derived.h @@ -41,7 +41,7 @@ class LIBSAMPLE_API Base1 { public: Base1() : m_value(1) {} - ~Base1() {} + virtual ~Base1() {} virtual int base1Method() { return m_value; } private: int m_value; @@ -51,7 +51,7 @@ class LIBSAMPLE_API Base2 { public: Base2() : m_value(2) {} - ~Base2() {} + virtual ~Base2() {} virtual int base2Method() { return m_value; } private: int m_value; @@ -114,7 +114,7 @@ class LIBSAMPLE_API Base5 { public: Base5() : m_value(5) {} - ~Base5() {} + virtual ~Base5() {} virtual int base5Method() { return m_value; } private: int m_value; @@ -124,7 +124,7 @@ class LIBSAMPLE_API Base6 { public: Base6() : m_value(6) {} - ~Base6() {} + virtual ~Base6() {} virtual int base6Method() { return m_value; } private: int m_value; @@ -184,7 +184,7 @@ class LIBSAMPLE_API MDerived5 : public Base3, public Base4 { public: MDerived5(); - ~MDerived5() {} + virtual ~MDerived5() {} virtual int mderived5Method() { return 0; } diff --git a/tests/libsample/nondefaultctor.h b/tests/libsample/nondefaultctor.h index 9a0a98f72..cd4f6eace 100644 --- a/tests/libsample/nondefaultctor.h +++ b/tests/libsample/nondefaultctor.h @@ -74,6 +74,8 @@ public: { return returnMyselfVirtual(); } + + virtual ~NonDefaultCtor() {} }; #endif diff --git a/tests/libsample/oddbool.h b/tests/libsample/oddbool.h index 60cf6a37d..47f0edb9e 100644 --- a/tests/libsample/oddbool.h +++ b/tests/libsample/oddbool.h @@ -60,7 +60,8 @@ inline bool operator!=(OddBool b1, OddBool b2) { return !b1 != !b2; } class LIBSAMPLE_API OddBoolUser { public: - OddBoolUser() : m_oddbool(OddBool(false)) {}; + OddBoolUser() : m_oddbool(OddBool(false)) {} + virtual ~OddBoolUser() {} OddBool oddBool() { return m_oddbool; } void setOddBool(OddBool oddBool) { m_oddbool = oddBool; } diff --git a/tests/libsample/pairuser.h b/tests/libsample/pairuser.h index b3b958460..8a3cb7a94 100644 --- a/tests/libsample/pairuser.h +++ b/tests/libsample/pairuser.h @@ -44,7 +44,7 @@ class LIBSAMPLE_API PairUser { public: PairUser() {} - ~PairUser() {} + virtual ~PairUser() {} virtual std::pair createPair(); std::pair callCreatePair(); diff --git a/tests/libsample/reference.h b/tests/libsample/reference.h index 5c9e8c99a..1a95ad2c7 100644 --- a/tests/libsample/reference.h +++ b/tests/libsample/reference.h @@ -42,7 +42,7 @@ class LIBSAMPLE_API Reference public: explicit Reference(int objId = -1) : m_objId(objId) {} - ~Reference() {} + virtual ~Reference() {} int objId() { return m_objId; } void setObjId(int objId) { m_objId = objId; } diff --git a/tests/libsample/samplenamespace.h b/tests/libsample/samplenamespace.h index ae1f58dde..b050bd558 100644 --- a/tests/libsample/samplenamespace.h +++ b/tests/libsample/samplenamespace.h @@ -40,19 +40,19 @@ namespace SampleNamespace { -enum LIBSAMPLE_API Option { +enum Option { None, RandomNumber, UnixTime }; -enum LIBSAMPLE_API InValue { +enum InValue { ZeroIn, OneIn, TwoIn }; -enum LIBSAMPLE_API OutValue { +enum OutValue { ZeroOut, OneOut, TwoOut @@ -77,7 +77,7 @@ public: class OkThisIsRecursiveEnough { public: - ~OkThisIsRecursiveEnough() {} + virtual ~OkThisIsRecursiveEnough() {} enum NiceEnum { NiceValue1, NiceValue2 }; diff --git a/tests/libsample/virtualmethods.h b/tests/libsample/virtualmethods.h index de4149a85..022453876 100644 --- a/tests/libsample/virtualmethods.h +++ b/tests/libsample/virtualmethods.h @@ -46,7 +46,7 @@ class LIBSAMPLE_API VirtualMethods { public: VirtualMethods(Str name = "VirtualMethods") : m_name(name) {} - ~VirtualMethods() {} + virtual ~VirtualMethods() {} virtual double virtualMethod0(Point pt, int val, Complex cpx, bool b); double callVirtualMethod0(Point pt, int val, Complex cpx, bool b) -- cgit v1.2.3