00001 #ifndef ASG_TOOLS__UNIT_TEST_TOOL3_H
00002 #define ASG_TOOLS__UNIT_TEST_TOOL3_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include <AsgTools/AnaToolHandle.h>
00015 #include <AsgTools/AsgTool.h>
00016 #include <AsgExampleTools/IUnitTestTool3.h>
00017
00018 namespace asg
00019 {
00020 class IUnitTestTool2;
00021
00028
00029 struct UnitTestTool3 : virtual public IUnitTestTool3,
00030 public AsgTool
00031 {
00032 ASG_TOOL_CLASS (UnitTestTool3, IUnitTestTool3)
00033
00034
00035 public:
00036 UnitTestTool3 (const std::string& val_name);
00037
00038 public:
00039 StatusCode initialize () override;
00040
00042 public:
00043 virtual const IUnitTestTool1 *getSubtool () const override;
00044
00046 public:
00047 virtual const IUnitTestTool1 *getSubsubtool () const override;
00048
00049 public:
00050 virtual bool subsubtoolEmpty () const override;
00051
00053 private:
00054 ToolHandle<IUnitTestTool1> m_subtool0;
00055
00057 private:
00058 AnaToolHandle<IUnitTestTool1> m_subtool1;
00059
00061 private:
00062 AnaToolHandle<IUnitTestTool2> m_subtool2;
00063
00065 private:
00066 std::string m_propertyName;
00067
00069 private:
00070 bool m_usePublic = false;
00071 };
00072 }
00073
00074 #endif