bugdb_8h-source.html
来自「一个功能强大的内存数据库源代码,c++编写,有详细的注释」· HTML 代码 · 共 247 行
HTML
247 行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>bugdb.h Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.15 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </center><hr><h1>bugdb.h</h1><div class="fragment"><pre>00001 <font class="comment">//-< BUGDB.H >------------------------------------------------------*--------*</font>00002 <font class="comment">// FastDB Version 1.0 (c) 1999 GARRET * ? *</font>00003 <font class="comment">// (Main Memory Database Management System) * /\| *</font>00004 <font class="comment">// * / \ *</font>00005 <font class="comment">// Created: 27-Mar-99 K.A. Knizhnik * / [] \ *</font>00006 <font class="comment">// Last update: 25-Jun-99 K.A. Knizhnik * GARRET *</font>00007 <font class="comment">//-------------------------------------------------------------------*--------*</font>00008 <font class="comment">// Example of database Web publishing: Bug Tracking Database</font>00009 <font class="comment">//-------------------------------------------------------------------*--------*</font>00010 00011 <font class="preprocessor">#ifndef __BUGDB_H__</font>00012 <font class="preprocessor"></font><font class="preprocessor">#define __BUGDB_H__</font>00013 <font class="preprocessor"></font>00014 <font class="preprocessor">#include "fastdb.h"</font>00015 <font class="preprocessor">#include "wwwapi.h"</font>00016 00017 <font class="keyword">class </font>Bug;00018 <font class="keyword">class </font>Software;00019 00020 <font class="keyword">class </font>Person00021 {00022 <font class="keyword">public</font>:00023 <font class="keywordtype">char</font> <font class="keyword">const</font>* sName;00024 <font class="keywordtype">char</font> <font class="keyword">const</font>* sEmailAddress;00025 <font class="keywordtype">char</font> <font class="keyword">const</font>* sPassword;00026 00027 <a class="code" href="classdbArray.html">dbArray<dbReference<Software></a> > setUsedSoftware;00028 <a class="code" href="classdbArray.html">dbArray<dbReference<Software></a> > setProjects;00029 <a class="code" href="classdbArray.html">dbArray<dbReference<Bug></a> > setReportedBugs;00030 <a class="code" href="classdbArray.html">dbArray<dbReference<Bug></a> > setAssignedBugs;00031 00032 <font class="keyword">enum</font> PersonStatus { 00033 isUser, 00034 isEngineer,00035 isAdministrator00036 };00037 int1 status;00038 int4 nReports;00039 00040 <font class="keywordtype">void</font> print(WWWconnection& con) <font class="keyword">const</font>;00041 00042 <font class="keywordtype">bool</font> checkPassword(<font class="keywordtype">char</font> <font class="keyword">const</font>* password)<font class="keyword"> const </font>{ 00043 <font class="keywordflow">return</font> strcmp(sPassword, password) == 0;00044 }00045 00046 00047 TYPE_DESCRIPTOR((KEY(sName, INDEXED),00048 FIELD(sEmailAddress),00049 FIELD(sPassword),00050 RELATION(setReportedBugs, pReportedBy),00051 RELATION(setAssignedBugs, pAssignedTo),00052 RELATION(setUsedSoftware, setUsers), 00053 RELATION(setProjects, setEngineers), 00054 FIELD(status),FIELD(nReports)));00055 };00056 00057 00058 <font class="keyword">class </font>Version 00059 {00060 <font class="keyword">public</font>:00061 <font class="keywordtype">char</font> <font class="keyword">const</font>* sLabel;00062 <font class="keywordtype">int</font> majorVersionNumber;00063 <font class="keywordtype">int</font> minorVersionNumber;00064 dbDateTime released;00065 <font class="keywordtype">char</font> <font class="keyword">const</font>* sComment;00066 <a class="code" href="classdbArray.html">dbArray<dbReference<Bug></a> > setBugs;00067 <a class="code" href="classdbReference.html">dbReference<Version></a> pNext;00068 00069 <font class="keywordtype">int</font> getVersion() <font class="keyword">const</font>; 00070 <font class="keywordtype">char</font>* getVersionString() <font class="keyword">const</font>;00071 00072 <font class="keywordtype">void</font> print(WWWconnection& con) <font class="keyword">const</font>;00073 00074 TYPE_DESCRIPTOR((FIELD(sLabel),00075 FIELD(majorVersionNumber),00076 FIELD(minorVersionNumber),00077 FIELD(released),00078 FIELD(sComment),00079 RELATION(setBugs, pVersion),00080 FIELD(pNext)));00081 };00082 00083 00084 <font class="keyword">class </font>Software00085 {00086 <font class="keyword">public</font>:00087 <font class="keywordtype">char</font> <font class="keyword">const</font>* sName;00088 <a class="code" href="classdbArray.html">dbArray<dbReference<Person></a> > setEngineers;00089 <a class="code" href="classdbArray.html">dbArray<dbReference<Person></a> > setUsers;00090 <a class="code" href="classdbReference.html">dbReference<Version></a> pVersions;00091 <a class="code" href="classdbArray.html">dbArray<dbReference<Bug></a> > setBugs;00092 00093 <font class="keywordtype">int</font> getLastVersion() <font class="keyword">const</font>;00094 <font class="keywordtype">char</font>* getLastVersionString() <font class="keyword">const</font>;00095 00096 <font class="keywordtype">void</font> print(WWWconnection& con) <font class="keyword">const</font>;00097 00098 TYPE_DESCRIPTOR((KEY(sName, INDEXED),00099 FIELD(pVersions),00100 RELATION(setEngineers, setProjects),00101 RELATION(setUsers, setUsedSoftware),00102 RELATION(setBugs, pSoftware)));00103 };00104 00105 <font class="keyword">enum</font> eCATEGORY00106 {00107 CATEGORY_NOT_SPECIFIED,00108 CRASH,00109 PROGRAM_HANGS,00110 UI_DISPLAY,00111 UI_BEHAVIOR,00112 CALCULATION,00113 ERROR_HANDLING,00114 PERFORMANCE,00115 LICENSING,00116 INSTALLATION,00117 DOCUMENTATION,00118 ENHANCEMENT,00119 HOW_TO_QUESTION00120 };00121 00122 <font class="keyword">extern</font> <font class="keywordtype">char</font> <font class="keyword">const</font>* <font class="keyword">const</font> eCATEGORY_STRING[];00123 00124 <font class="keyword">enum</font> eSTATUS00125 {00126 STATUS_NOT_SPECIFIED,00127 STATUS_OPENED,00128 STATUS_FIXED,00129 STATUS_CLOSED,00130 STATUS_PENDING_Person,00131 STATUS_PENDING_USER,00132 STATUS_POSTPONED,00133 STATUS_IRREPRODUCIBLE,00134 STATUS_WITHDRAWN,00135 STATUS_AS_DESIGNED00136 };00137 00138 <font class="keyword">extern</font> <font class="keywordtype">char</font> <font class="keyword">const</font>* <font class="keyword">const</font> eSTATUS_STRING[];00139 00140 <font class="keyword">enum</font> eFIXING_PRIORITY00141 {00142 PRIORITY_NOT_SPECIFIED,00143 FIX_IMMEDIATELY,00144 FIX_BEFORE_NEXT_BUILD_RELEASE,00145 FIX_BEFORE_NEXT_MINOR_RELEASE,00146 FIX_BEFORE_NEXT_MAJOR_RELEASE,00147 FIX_IF_POSSIBLE,00148 OPTIONAL00149 };00150 00151 <font class="keyword">extern</font> <font class="keywordtype">char</font> <font class="keyword">const</font>* <font class="keyword">const</font> eFIXING_PRIORITY_STRING[];00152 00153 <font class="keyword">enum</font> eSEVERITY00154 {00155 SEVERITY_NOT_SPECIFIED,00156 FATAL,00157 SERIOUS,00158 MINOR,00159 LAST_SEVERITY00160 };00161 00162 <font class="keyword">extern</font> <font class="keywordtype">char</font> <font class="keyword">const</font>* <font class="keyword">const</font> eSEVERITY_STRING[]; 00163 00164 00165 <font class="keyword">class </font>Report00166 {00167 <font class="keyword">public</font>:00168 <font class="keywordtype">char</font> <font class="keyword">const</font>* sDescription;00169 <a class="code" href="classdbReference.html">dbReference<Person></a> pAuthor;00170 <a class="code" href="classdbReference.html">dbReference<Report></a> pNext;00171 dbDateTime creationDate;00172 int1 status;00173 int4 index;00174 00175 <font class="keywordtype">void</font> print(WWWconnection& con) <font class="keyword">const</font>;00176 00177 TYPE_DESCRIPTOR((FIELD(sDescription),FIELD(pAuthor),FIELD(pNext),FIELD(creationDate),00178 FIELD(status),FIELD(index)));00179 };00180 00181 00182 <font class="keyword">class </font>Bug 00183 {00184 <font class="keyword">public</font>:00185 <font class="keywordtype">char</font> <font class="keyword">const</font>* sOneLineSummary;00186 <font class="keywordtype">char</font> <font class="keyword">const</font>* sHardwarePlatform;00187 <font class="keywordtype">char</font> <font class="keyword">const</font>* sOperatingSystem;00188 00189 int4 bugId;00190 int4 nReports;00191 int1 eCategory;00192 int1 eFixingPriority;00193 int1 eSeverity;00194 00195 <a class="code" href="classdbReference.html">dbReference<Person></a> pReportedBy;00196 <a class="code" href="classdbReference.html">dbReference<Person></a> pAssignedTo;00197 00198 <a class="code" href="classdbReference.html">dbReference<Software></a> pSoftware;00199 <a class="code" href="classdbReference.html">dbReference<Version></a> pVersion;00200 00201 <a class="code" href="classdbReference.html">dbReference<Report></a> pReportHistory;00202 <a class="code" href="classdbReference.html">dbReference<Report></a> pWorkArounds;00203 <a class="code" href="classdbArray.html">dbArray<dbReference<Bug></a> > setSimilarBugs;00204 00205 <font class="keywordtype">void</font> print(WWWconnection& con) <font class="keyword">const</font>;00206 00207 TYPE_DESCRIPTOR((KEY(bugId, HASHED),00208 FIELD(sOneLineSummary),00209 FIELD(sOperatingSystem), 00210 FIELD(sHardwarePlatform),00211 RELATION(pSoftware, setBugs),00212 RELATION(pVersion, setBugs), 00213 RELATION(pReportedBy, setReportedBugs),00214 RELATION(pAssignedTo, setAssignedBugs),00215 RELATION(setSimilarBugs, setSimilarBugs),00216 FIELD(nReports),00217 FIELD(eCategory),00218 FIELD(eFixingPriority),00219 FIELD(eSeverity),00220 FIELD(pReportHistory), 00221 FIELD(pWorkArounds)));00222 };00223 00224 00225 <font class="keyword">class </font>BugSequencer {00226 <font class="keyword">public</font>:00227 <font class="keywordtype">int</font> nBugs;00228 00229 TYPE_DESCRIPTOR((FIELD(nBugs)));00230 };00231 00232 <font class="preprocessor">#endif</font></pre></div><hr><address align="right"><small>Generated on Fri Nov 15 21:06:28 2002 for FastDB by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.15 </small></address></body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?