summaryrefslogtreecommitdiffstats
path: root/src/packagedef.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/packagedef.h')
-rw-r--r--src/packagedef.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/packagedef.h b/src/packagedef.h
new file mode 100644
index 0000000..7d5224a
--- /dev/null
+++ b/src/packagedef.h
@@ -0,0 +1,62 @@
+/******************************************************************************
+ *
+ *
+ *
+ * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ * Documents produced by Doxygen are derivative works derived from the
+ * input used in their production; they are not affected by this license.
+ *
+ */
+
+#ifndef PACKAGEDEF_H
+#define PACKAGEDEF_H
+
+#include "qtbc.h"
+#include <qlist.h>
+#include <qdict.h>
+#include "definition.h"
+#include "sortdict.h"
+
+class ClassList;
+class ClassDef;
+class PackageList;
+class OutputList;
+
+class PackageDef : public Definition
+{
+ public:
+ PackageDef(const char *fName,int line, const char *name);
+ ~PackageDef();
+ DefType definitionType() { return TypePackage; }
+ QCString getOutputFileBase() const { return packageFileName; }
+ void addClass(const ClassDef *def);
+ void writeDocumentation(OutputList &ol);
+ bool isLinkableInProject()
+ {
+ return hasDocumentation() && !isReference();
+ }
+ bool isLinkable()
+ {
+ return isLinkableInProject() || isReference();
+ }
+
+ private:
+ QCString packageFileName; // base name of the generated file
+ ClassList *classList; // list of classes in the package
+};
+
+class PackageSDict : public SDict<PackageDef>
+{
+ public:
+ PackageSDict(int size) : SDict<PackageDef>(size) {}
+};
+
+#endif
+