00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef NATIVETESTFACTORY_H
00010 #define NATIVETESTFACTORY_H
00011
00012 #ifdef JAVAQX_TEST
00013
00014 #include "NativeTest.h"
00015
00016
00017
00018
00019
00026 class JAVAQX_EXPORT AbstractNativeTestFactory
00027 {
00028 protected:
00029 inline AbstractNativeTestFactory(const QString &name);
00030 public:
00031 inline QString name() const;
00032 public:
00033 virtual NativeTest *createNativeTest() = 0;
00034 private:
00035 QString m_name;
00036 };
00037
00038
00039
00040
00041
00047 inline AbstractNativeTestFactory::AbstractNativeTestFactory(const QString &name)
00048 : m_name(name)
00049 {
00050
00051 }
00052
00053
00054
00055
00056
00062 inline QString AbstractNativeTestFactory::name() const
00063 {
00064 return m_name;
00065 }
00066
00073 template<class T>
00074 class JAVAQX_EXPORT NativeTestFactory : public AbstractNativeTestFactory
00075 {
00076 public:
00077 NativeTestFactory(const QString &name) : AbstractNativeTestFactory(name) {
00078
00079 }
00080 public:
00081 virtual NativeTest *createNativeTest() {
00082 return new T();
00083 }
00084 };
00085
00086 #endif // JAVAQX_TEST
00087
00088 #endif // NATIVETESTFACTORY_H
00089
00090
00091
00092
00093
00094
00095
00096