2 * Copyright 2013 Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
6 * Ingo Weinhold, ingo_weinhold@gmx.de
8 #ifndef _VIRTUAL_DIRECTORY_POSE_VIEW_H
9 #define _VIRTUAL_DIRECTORY_POSE_VIEW_H
12 #include <StringList.h>
19 class VirtualDirectoryEntryList
;
22 class VirtualDirectoryPoseView
: public BPoseView
{
24 VirtualDirectoryPoseView(Model
* model
);
25 virtual ~VirtualDirectoryPoseView();
27 virtual void MessageReceived(BMessage
* message
);
30 virtual void AttachedToWindow();
31 virtual void RestoreState(AttributeStreamNode
* node
);
32 virtual void RestoreState(const BMessage
& message
);
33 virtual void SavePoseLocations(BRect
* frameIfDesktop
= NULL
);
34 virtual void SetViewMode(uint32 newMode
);
35 virtual EntryListBase
* InitDirentIterator(const entry_ref
* ref
);
37 virtual void StartWatching();
38 virtual void StopWatching();
40 virtual bool FSNotification(const BMessage
* message
);
43 typedef BPoseView _inherited
;
46 bool _EntryCreated(const BMessage
* message
);
47 bool _EntryRemoved(const BMessage
* message
);
48 bool _EntryMoved(const BMessage
* message
);
49 bool _NodeStatChanged(const BMessage
* message
);
51 void _DispatchEntryCreatedOrRemovedMessage(
52 int32 opcode
, const node_ref
& nodeRef
,
53 const entry_ref
& entryRef
,
54 const char* path
= NULL
,
55 bool dispatchToSuperClass
= true);
57 bool _GetEntry(const char* name
, entry_ref
& _ref
,
58 struct stat
* _st
= NULL
);
60 status_t
_UpdateDirectoryPaths();
61 // manager must be locked
64 BStringList fDirectoryPaths
;
65 node_ref fRootDefinitionFileRef
;
66 bigtime_t fFileChangeTime
;
71 } // namespace BPrivate
74 #endif // _VIRTUAL_DIRECTORY_POSE_VIEW_H