Audio plugin host https://kx.studio/carla
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

icloneable.h 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //-----------------------------------------------------------------------------
  2. // Project : SDK Core
  3. //
  4. // Category : SDK Core Interfaces
  5. // Filename : pluginterfaces/base/icloneable.h
  6. // Created by : Steinberg, 11/2007
  7. // Description : Interface for object copies
  8. //
  9. //-----------------------------------------------------------------------------
  10. // This file is part of a Steinberg SDK. It is subject to the license terms
  11. // in the LICENSE file found in the top-level directory of this distribution
  12. // and at www.steinberg.net/sdklicenses.
  13. // No part of the SDK, including this file, may be copied, modified, propagated,
  14. // or distributed except according to the terms contained in the LICENSE file.
  15. //-----------------------------------------------------------------------------
  16. #pragma once
  17. #include "funknown.h"
  18. namespace Steinberg {
  19. //------------------------------------------------------------------------
  20. /** Interface allowing an object to be copied.
  21. - [plug & host imp]
  22. - [released: N4.12]
  23. */
  24. class ICloneable : public FUnknown
  25. {
  26. public:
  27. //------------------------------------------------------------------------
  28. /** Create exact copy of the object */
  29. virtual FUnknown* PLUGIN_API clone () = 0;
  30. //------------------------------------------------------------------------
  31. static const FUID iid;
  32. };
  33. DECLARE_CLASS_IID (ICloneable, 0xD45406B9, 0x3A2D4443, 0x9DAD9BA9, 0x85A1454B)
  34. //------------------------------------------------------------------------
  35. } // namespace Steinberg