1 /* 2 * Copyright 2006, Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef _CURSOR_H 6 #define _CURSOR_H 7 8 9 #include <Archivable.h> 10 #include <InterfaceDefs.h> 11 12 13 class BCursor : BArchivable { 14 public: 15 BCursor(const void* cursorData); 16 BCursor(BMessage* data); 17 virtual ~BCursor(); 18 19 virtual status_t Archive(BMessage* archive, bool deep = true) const; 20 static BArchivable* Instantiate(BMessage* archive); 21 22 private: 23 virtual status_t Perform(perform_code d, void* arg); 24 25 virtual void _ReservedCursor1(); 26 virtual void _ReservedCursor2(); 27 virtual void _ReservedCursor3(); 28 virtual void _ReservedCursor4(); 29 30 private: 31 friend class BApplication; 32 friend class BView; 33 34 int32 fServerToken; 35 bool fNeedToFree; 36 mutable bool fPendingViewCursor; 37 38 uint32 _reserved[6]; 39 }; 40 41 #endif // _CURSOR_H 42