ccIOPluginInterface.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //##########################################################################
  2. //# #
  3. //# CLOUDCOMPARE #
  4. //# #
  5. //# This program is free software; you can redistribute it and/or modify #
  6. //# it under the terms of the GNU General Public License as published by #
  7. //# the Free Software Foundation; version 2 of the License. #
  8. //# #
  9. //# This program is distributed in the hope that it will be useful, #
  10. //# but WITHOUT ANY WARRANTY; without even the implied warranty of #
  11. //# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
  12. //# GNU General Public License for more details. #
  13. //# #
  14. //# COPYRIGHT: EDF R&D / TELECOM ParisTech (ENST-TSI) #
  15. //# #
  16. //##########################################################################
  17. #pragma once
  18. #include <QVector>
  19. //qCC_io
  20. #include <FileIOFilter.h>
  21. #include "ccDefaultPluginInterface.h"
  22. //! I/O filter plugin interface
  23. /** Version 1.3
  24. **/
  25. class ccIOPluginInterface : public ccDefaultPluginInterface
  26. {
  27. public:
  28. using FilterList = QVector<FileIOFilter::Shared>;
  29. public:
  30. ccIOPluginInterface( const QString &resourcePath = QString() ) :
  31. ccDefaultPluginInterface( resourcePath )
  32. {
  33. }
  34. ~ccIOPluginInterface() override = default;
  35. //inherited from ccPluginInterface
  36. CC_PLUGIN_TYPE getType() const override { return CC_IO_FILTER_PLUGIN; }
  37. //! Returns a list of I/O filter instances
  38. virtual FilterList getFilters() { return FilterList{}; }
  39. };
  40. Q_DECLARE_INTERFACE(ccIOPluginInterface,
  41. "cccorp.cloudcompare.ccIOPluginInterface/1.3")