aboutsummaryrefslogtreecommitdiff
path: root/paludis/contents.hh
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-01-28 00:06:43 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-01-28 00:06:43 +0000
commitea163989db9bd2605829c72cf5eb68b94f145288 (patch)
tree9e31bf2ce6d23c8db232d172c4714766069eaadf /paludis/contents.hh
parent5bd4e77c932841fa3babbf69617a17747201ef21 (diff)
downloadpaludis-ea163989db9bd2605829c72cf5eb68b94f145288.tar.gz
paludis-ea163989db9bd2605829c72cf5eb68b94f145288.tar.xz
Add fifo, device support throughout
Diffstat (limited to 'paludis/contents.hh')
-rw-r--r--paludis/contents.hh52
1 files changed, 50 insertions, 2 deletions
diff --git a/paludis/contents.hh b/paludis/contents.hh
index 281c26f..dab5794 100644
--- a/paludis/contents.hh
+++ b/paludis/contents.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.org>
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -40,6 +40,8 @@ namespace paludis
struct ContentsFileEntry;
struct ContentsDirEntry;
struct ContentsSymEntry;
+ struct ContentsFifoEntry;
+ struct ContentsDevEntry;
struct ContentsMiscEntry;
/**
@@ -48,7 +50,7 @@ namespace paludis
* \ingroup grpcontents
*/
typedef VisitorTypes<ContentsFileEntry *, ContentsDirEntry *,
- ContentsSymEntry *, ContentsMiscEntry *> ContentsVisitorTypes;
+ ContentsSymEntry *, ContentsFifoEntry *, ContentsDevEntry *, ContentsMiscEntry *> ContentsVisitorTypes;
/**
* Base class for a contents entry.
@@ -160,6 +162,52 @@ namespace paludis
};
/**
+ * A fifo contents entry.
+ *
+ * \ingroup grpcontents
+ * \nosubgrouping
+ */
+ class ContentsFifoEntry :
+ public ContentsEntry,
+ public Visitable<ContentsFifoEntry, ContentsVisitorTypes>
+ {
+ public:
+ ///\name Basic operations
+ ///\{
+
+ ContentsFifoEntry(const std::string & name);
+
+ ///\}
+
+ typedef CountedPtr<ContentsFifoEntry, count_policy::InternalCountTag> Pointer;
+
+ typedef CountedPtr<const ContentsFifoEntry, count_policy::InternalCountTag> ConstPointer;
+ };
+
+ /**
+ * A device contents entry.
+ *
+ * \ingroup grpcontents
+ * \nosubgrouping
+ */
+ class ContentsDevEntry :
+ public ContentsEntry,
+ public Visitable<ContentsDevEntry, ContentsVisitorTypes>
+ {
+ public:
+ ///\name Basic operations
+ ///\{
+
+ ContentsDevEntry(const std::string & name);
+
+ ///\}
+
+ typedef CountedPtr<ContentsDevEntry, count_policy::InternalCountTag> Pointer;
+
+ typedef CountedPtr<const ContentsDevEntry, count_policy::InternalCountTag> ConstPointer;
+ };
+
+ /**
* A sym contents entry.
*
* \ingroup grpcontents