nsBaseClipboard.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
  2. /* This Source Code Form is subject to the terms of the Mozilla Public
  3. * License, v. 2.0. If a copy of the MPL was not distributed with this
  4. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  5. #ifndef nsBaseClipboard_h__
  6. #define nsBaseClipboard_h__
  7. #include "nsIClipboard.h"
  8. #include "nsITransferable.h"
  9. class nsITransferable;
  10. class nsIClipboardOwner;
  11. class nsIWidget;
  12. /**
  13. * Native Win32 BaseClipboard wrapper
  14. */
  15. class nsBaseClipboard : public nsIClipboard
  16. {
  17. public:
  18. nsBaseClipboard();
  19. //nsISupports
  20. NS_DECL_ISUPPORTS
  21. // nsIClipboard
  22. NS_DECL_NSICLIPBOARD
  23. protected:
  24. virtual ~nsBaseClipboard();
  25. NS_IMETHOD SetNativeClipboardData ( int32_t aWhichClipboard ) = 0;
  26. NS_IMETHOD GetNativeClipboardData ( nsITransferable * aTransferable, int32_t aWhichClipboard ) = 0;
  27. bool mEmptyingForSetData;
  28. bool mIgnoreEmptyNotification;
  29. nsCOMPtr<nsIClipboardOwner> mClipboardOwner;
  30. nsCOMPtr<nsITransferable> mTransferable;
  31. };
  32. #endif // nsBaseClipboard_h__