1 //----------------------------------------------------------------------
2 // This software is part of the OpenBeOS distribution and is covered
4 //---------------------------------------------------------------------
7 BEntry and entry_ref interface declarations.
12 #include <sys/types.h>
14 #include <SupportDefs.h>
18 #ifdef USE_OPENBEOS_NAMESPACE
27 entry_ref(dev_t dev
, ino_t dir
, const char *name
);
28 entry_ref(const entry_ref
&ref
);
31 status_t
set_name(const char *name
);
33 bool operator==(const entry_ref
&ref
) const;
34 bool operator!=(const entry_ref
&ref
) const;
35 entry_ref
&operator=(const entry_ref
&ref
);
42 class BEntry
: public BStatable
{
45 BEntry(const BDirectory
*dir
, const char *path
, bool traverse
= false);
46 BEntry(const entry_ref
*ref
, bool traverse
= false);
47 BEntry(const char *path
, bool traverse
= false);
48 BEntry(const BEntry
&entry
);
51 status_t
InitCheck() const;
54 const char* Name() const;
56 virtual status_t
GetStat(struct stat
*st
) const;
58 status_t
SetTo(const BDirectory
*dir
, const char *path
,
59 bool traverse
= false);
60 status_t
SetTo(const entry_ref
*ref
, bool traverse
= false);
61 status_t
SetTo(const char *path
, bool traverse
= false);
64 status_t
GetRef(entry_ref
*ref
) const;
65 status_t
GetPath(BPath
*path
) const;
66 status_t
GetParent(BEntry
*entry
) const;
67 status_t
GetParent(BDirectory
*dir
) const;
68 status_t
GetName(char *buffer
) const;
70 status_t
Rename(const char *path
, bool clobber
= false);
71 status_t
MoveTo(BDirectory
*dir
, const char *path
= NULL
,
72 bool clobber
= false);
75 bool operator==(const BEntry
&item
) const;
76 bool operator!=(const BEntry
&item
) const;
78 BEntry
&operator=(const BEntry
&item
);
81 friend class BDirectory
;
84 friend class BSymLink
;
86 virtual void _PennyEntry1();
87 virtual void _PennyEntry2();
88 virtual void _PennyEntry3();
89 virtual void _PennyEntry4();
90 virtual void _PennyEntry5();
91 virtual void _PennyEntry6();
93 /*! Currently unused. */
96 /*! BEntry implementation of BStatable::set_stat() */
97 virtual status_t
set_stat(struct stat
&st
, uint32 what
);
99 status_t
set(int dir
, const char *path
, bool traverse
);
101 /*! File descriptor for the entry's parent directory. */
104 /*! Leaf name of the entry. */
107 /*! The object's initialization status. */
110 status_t
set_name(const char *name
);
112 status_t
_Rename(BEntry
& target
, bool clobber
);
114 void Dump(const char *name
= NULL
);
119 status_t
get_ref_for_path(const char *path
, entry_ref
*ref
);
120 bool operator<(const entry_ref
&a
, const entry_ref
&b
);
123 #ifdef USE_OPENBEOS_NAMESPACE
124 }; // namespace OpenBeOS