It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
@@ -0,0 +1,181 @@
|
||||
<html>
|
||||
<header>
|
||||
<title>Maintaining Binary Compatibility</title>
|
||||
</header>
|
||||
<body>
|
||||
<h1>Binary Compatibility in 3 Easy Steps!<hr></h1>
|
||||
|
||||
<h2>An Introduction</h2>
|
||||
In the early days of the OpenBeOS project, a debate raged concerning one of the projects
|
||||
primary goals: maintaining binary compatibility with BeOS R5. The idea was that the
|
||||
only way an effort to rewrite BeOS would be successful was if folks could continue
|
||||
running the apps they already had. Certainly, a lot of software available for BeOS is
|
||||
open source or actively maintained -- these apps could just be recompiled if necessary.
|
||||
Others -- PostMaster, gobe's Productive suite and a few other crucial apps -- weren't
|
||||
likely to get rebuilt, either because the original author had stopped maintainance
|
||||
without being kind enough to release the source, or because it just wouldn't be
|
||||
commercially feasible.<p>
|
||||
Some said that we were crazy; that it couldn't be done. Thankfully, cooler heads
|
||||
prevailed and we're well on our way to a binary compatible clone of R5.<p>
|
||||
|
||||
"But wait!" you cry. "How did the cooler heads which prevailed know that the holy grail
|
||||
of binary compatibility was achievable?" I'm so glad you asked! Keeping reading and be
|
||||
enlightened, Grasshopper.<p>
|
||||
|
||||
<h2>The Issues</h2>
|
||||
There are three basic issues that have to be addressed to ensure binary compatibility:
|
||||
<ul>
|
||||
<li>
|
||||
<b>Names must be identical</b><br>
|
||||
This includes class and structure names as well as public, protected and global
|
||||
function and variable names.
|
||||
</li>
|
||||
<li>
|
||||
<b>Object sizes must be identical</b><br>
|
||||
Classes must contain the same number of bytes of data; global variables must
|
||||
be the same size. Maybe BGlobalVar should've been an <code>int32</code>
|
||||
instead of an <code>int16</code>, but we're stuck with it now.
|
||||
</li>
|
||||
<li>
|
||||
<b>Virtual function table layout must be identical</b><br>
|
||||
The most cryptic and confusing aspect of maintaining binary compatibility.
|
||||
The issue essentially boils down to this: for any given class, there must
|
||||
be the same number of virtual functions, declared in the same order as the
|
||||
original.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>The Nitty Gritty</h2>
|
||||
"Good grief!" you say. "How on earth do I keep all this stuff straight?" Ah,
|
||||
Grasshopper, it is easier that you might imagine. Just follow these steps, and you
|
||||
should be binary compatible in no time!
|
||||
<ol>
|
||||
<li>
|
||||
<b>Make a copy of the appropriate Be header file</b><br>
|
||||
This is now your header file. You may need to change a thing or two, but what
|
||||
you can (or will need to) change is quite limited, and discussed below.
|
||||
</li>
|
||||
<li>
|
||||
<b>Implement public, protected and virtual functions</b><br>
|
||||
In the course of doing this, you may discover that there are some private
|
||||
non-virtual function declarations that you just don't use. Feel free to axe
|
||||
them! Since they're private, nobody using the class will miss them, and
|
||||
because they're not virtual, they don't effect the vtable layout. Conversely,
|
||||
if you find a need to add some private, non-virtual functions, go right ahead
|
||||
(for the very same reasons).
|
||||
</li>
|
||||
<li>
|
||||
<b>Make sure you don't change the number of bytes used for data</b><br>
|
||||
There are two situations that can make this seem difficult. First, there
|
||||
may be data members that you don't use in your reimplementation. You can
|
||||
just leave them (safe, but a little messy) or you can add the extra members'
|
||||
bytes to the class's "unused" data array. An example will make this clear.<br>
|
||||
Let's say we have a class BFoo:<br>
|
||||
<code>
|
||||
<pre>
|
||||
class BFoo {
|
||||
public:
|
||||
BFoo();
|
||||
void SomeFunc();
|
||||
private:
|
||||
int32 fBar;
|
||||
char fZig;
|
||||
int32 fQux;
|
||||
int32 fUnused[2];
|
||||
};
|
||||
</pre>
|
||||
</code>
|
||||
The Be engineers that originally wrote this BFoo purposely added some data
|
||||
padding in the form of an array of 2 <code>int32</code>s (they did this with
|
||||
most classes in the API). Now let's suppose in your implementation, you
|
||||
really didn't need <code>fQux</code>. You can add <code>fQux</code>'s bytes
|
||||
into <code>fUnused</code>:<br>
|
||||
<code>
|
||||
<pre>
|
||||
class BFoo
|
||||
{
|
||||
...
|
||||
private:
|
||||
int32 fBar;
|
||||
char fZig;
|
||||
int32 fUnused[3];
|
||||
};
|
||||
</pre>
|
||||
</code>
|
||||
Nothing could be easier! An additional twist that should be noted is that
|
||||
data member order must also be preserved. In much the same way as existing
|
||||
apps will "look" for virtual functions in a specific place in the vtable,
|
||||
so will they "look" for data members in a specific place in an object.<br>
|
||||
"But what if I don't need <code>fZig</code>, either?" you wonder. "It's only
|
||||
one byte, not four like an <code>int32</code>!" Have no fear! Just rename it
|
||||
"<code>fUnusedChar</code>" and be done with it.<p>
|
||||
|
||||
The second situation that can make preserving object size tricky is if there
|
||||
aren't <i>enough</i> bytes of data available. Building on our cheesy BFoo
|
||||
example, let's suppose that rather than getting rid of <code>fQux</code> and
|
||||
<code>fZig</code>, you actually needed to <i>add</i> another 4
|
||||
<code>int32</code>s worth of data: <code>fNewData1</code> through
|
||||
<code>fNewData4</code>. The original implementation of BFoo has two extra
|
||||
<code>int32</code>s which we can use, but that leaves us two <code>int32</code>s
|
||||
short. What to do? The easiest thing to do is create a data structure to hold
|
||||
your new data and convert one of the <code>fUnused</code> items into a pointer
|
||||
to that structure:
|
||||
<code>
|
||||
<pre>
|
||||
// Foo.h
|
||||
struct _BFooData_;
|
||||
class BFoo
|
||||
{
|
||||
public:
|
||||
BFoo();
|
||||
~BFoo();
|
||||
void SomeFunc();
|
||||
private:
|
||||
int32 fBar;
|
||||
char fZig;
|
||||
_BFooData_* fNewData;
|
||||
int32 fUnused[1];
|
||||
};
|
||||
|
||||
// Foo.cpp
|
||||
struct _BFooData_
|
||||
{
|
||||
int32 fNewData1;
|
||||
int32 fNewData2;
|
||||
int32 fNewData3;
|
||||
int32 fNewData4;
|
||||
};
|
||||
BFoo::BFoo()
|
||||
{
|
||||
fNewData = new _BFooData_;
|
||||
}
|
||||
BFoo::~BFoo()
|
||||
{
|
||||
delete fNewData;
|
||||
}
|
||||
</pre>
|
||||
</code>
|
||||
Voila! More data without making the class bigger. Notice the added
|
||||
destructor; make sure you're cleaning up your new (dynamically allocated) data.
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
And there you have it: Binary Compatibility in 3 Easy Steps!<br>
|
||||
Questions, comments, or corrections? Please let
|
||||
<a href="mailto:[email protected]">me</a> know!<br>
|
||||
<hr>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,140 @@
|
||||
<html>
|
||||
<Title>Interface Kit Team Process</Title>
|
||||
<body>
|
||||
<h1>Interface Kit Team Process</h1>
|
||||
<p>
|
||||
This paper deals with the set of requirements for reimplementing any portion of the BeOS
|
||||
covered by the Interface Kit team's charter; namely, the Interface Kit, the Application
|
||||
Kit, the app_server, and related preferences applets. This team's resposibilities
|
||||
may broaden later to include more areas of the OS which are related (the input_server
|
||||
comes to mind as a possibility). Since the mandate of the group covers such a
|
||||
large and public (from a 3rd party developer's perspective) portion of BeOS -- a portion
|
||||
that is central to the user and developer experience of BeOS -- it is vital that our work
|
||||
be done in a scrupulously documented and tested fashion. This paper lays out the
|
||||
process which, when adhered to, aims to ensure this high standard of documentation and
|
||||
testability.
|
||||
</p><p>
|
||||
First, a definition of "module" as it pertains to this paper.
|
||||
<p>
|
||||
<b>Module:</b>
|
||||
A function, class, kit, application or related set of functions, classes, kits or
|
||||
applications is refered to as a "module" in this paper, the implication being that
|
||||
there can be modules within modules. A module is any specifiable and testable
|
||||
entity -- which may or may not rely on other modules to accomplish its functionality.
|
||||
</p><p>
|
||||
<h2>
|
||||
Process Requirements
|
||||
<hr align="left" width="25%">
|
||||
</h2>
|
||||
|
||||
Each module in this project shall have the following items:
|
||||
<ul>
|
||||
<li>Complete interface specification. For kits, this will mostly come
|
||||
from the BeBook, but in many cases the specification will have to elaborate
|
||||
on what the BeBook provides or even be created entirely (app_server internals
|
||||
are a good example).</li>
|
||||
<li>Complete use case specification. For those not familiar with use cases,
|
||||
they consist of the following:
|
||||
<ul>
|
||||
<li>A list of ways in which a module is expected to be used</li>
|
||||
<li>Sublists of assumptions/prerequisites for each of those cases.
|
||||
This should include items such as state of an object instance at the
|
||||
time of method invocation, the state of parameters passed to functions,
|
||||
etc.</li>
|
||||
<li>Sublists of error conditions and handling for each case where
|
||||
assumptions/prerequisites are not properly met. This list should
|
||||
not attempt to be all inclusive: circumstances that do not
|
||||
directly bear upon the assumptions/prerequisites do not need to be
|
||||
considered unless clearly necessary.</li>
|
||||
</ul></li>
|
||||
<li>A set of unit tests which verify that the module performs correctly in expected
|
||||
use cases as well as under error conditions as described in the use case
|
||||
specification.</li>
|
||||
<li>A plain-english discussion of how the module implements its functionality:
|
||||
what algorithms are to be used, what other modules are relied upon, the general
|
||||
design rationale, execution flow, etc.</li>
|
||||
<li>The actual reimplementation.</li>
|
||||
</ul>
|
||||
|
||||
Each of the above items is to be completed roughly in the order listed. In other
|
||||
words, a given module should have a complete interface specification, etc., before it is
|
||||
reimplemented. Prototyping is encouraged, of course. For existing APIs, the
|
||||
recommended course is to write the interface spec, use case spec and unit tests to the
|
||||
API. Unit tests, in particular, should perform as expected when run against the
|
||||
existing API. When they do not, changes may need to be made to the specifications.
|
||||
Our goal is to reimplement the APIs as they are, not necessarily as they're
|
||||
documented -- and then ensure that the docs accurately reflect the reimplementation.
|
||||
Thorough testing of the existing implementation will show us where the
|
||||
documentation is wrong, misleading or absent, thereby helping to ensure that our
|
||||
reimplementation is functionaly identical to the existing one.
|
||||
<p>
|
||||
<a href="http://www.xprogramming.com/ftp/TestingFramework/CppUnit/CppUnit15.zip">
|
||||
CppTest</a>
|
||||
is the test framework we will be using. By using this framework for all our unit
|
||||
tests, we can easily build large test suites which will verify the codebase in a single
|
||||
executed run. An excellent short discussion of the value of unit tests is here:<br>
|
||||
|
||||
<a href="http://www.extremeprogramming.org/rules/unittests.html">
|
||||
http://www.extremeprogramming.org/rules/unittests.html</a>
|
||||
|
||||
<h2>
|
||||
A Suggestion
|
||||
<hr align="left" width="25%">
|
||||
</h2>
|
||||
|
||||
Although the interface specification for each module should be completed first, I have a
|
||||
suggestion for how to proceed from there which should make the remainder of the process
|
||||
less boring. Rather than following the interface specification with a full set of
|
||||
use cases followed by a full set of tests, a more productive and enjoyable way to go is
|
||||
to take each module in turn, write one of the use cases/error conditions for it and
|
||||
immediately write the test for that use case/error condition. This will break up
|
||||
the tedious process of specifying all the use cases and error conditions with a bit of
|
||||
coding -- not implementation code, but code nonetheless.
|
||||
|
||||
<h2>
|
||||
Some Final Thoughts
|
||||
<hr align="left" width="25%">
|
||||
</h2>
|
||||
|
||||
This process is a very rigorous approach to take. Given that our goal is to produce
|
||||
the most stable, robust and professional desktop operating system available, this sort of
|
||||
thoroughness is justifiable and necessary. Our understanding of the system will be
|
||||
greatly increased and the task of coming up to speed on the system will be made much
|
||||
easier for outsiders and newcomers to the project.
|
||||
<p>
|
||||
This approach is also not the most "fun": sitting down and hacking out code has the
|
||||
attraction of instant gratification that design work does not. It is important to
|
||||
understand, however, that proper design work done up front makes the task of
|
||||
implementation easier, the chore of integration much less onerous and testing and
|
||||
code verification a snap. Provided we do not get locked in "analysis paralysis"
|
||||
and attack the design work as vigorously as the coding work, the entire project will
|
||||
actually move more quickly -- usually quite a bit more quickly -- than if we had simply
|
||||
started coding. Thrown away versions of the codebase should be just that:
|
||||
quick prototypes intended to be disposable, rather than full-blown implementation
|
||||
attempts which fail or are mysterious blackboxes because we don't really understand the
|
||||
module. Following this process makes it far more likely that when we sit down to
|
||||
do a module implementation, the first try will be the last (bug fixes not withstanding,
|
||||
of course ;).
|
||||
</p><p>
|
||||
To ensure the process is followed and we produce the highest quality code we can, code
|
||||
will not be accepted for release until all of the process items are covered. If
|
||||
this seems like a hardline stance to take, remember: every single app which
|
||||
utilizes the Application and Interface Kits relies on our code to be rock solid --
|
||||
totally predictable and completely reliable. Let's strive to be engineers, not
|
||||
h4X0rz.
|
||||
</p>
|
||||
<hr>
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,391 @@
|
||||
<HTML>
|
||||
<!-- $Id: UnitTestingInfo.html,v 1.1 2002/07/09 12:24:30 ejakowatz Exp $ -->
|
||||
<HEAD>
|
||||
<TITLE>Unit Testing Information</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="white" LINK="#000067" VLINK="#000067" ALINK="#0000FF">
|
||||
<FONT FACE="Verdana,Arial,Helvetica,sans-serif" SIZE="-1">
|
||||
|
||||
<H1>Unit Testing Information:</H1>
|
||||
|
||||
<P>This document describes the "why's" and "how's" of unit testing for the AppKit team of the
|
||||
OpenBeOS project. Although it is intended for the AppKit team, there is no reason other teams
|
||||
couldn't use this information to develop a similar unit testing strategy.</P>
|
||||
|
||||
<P>The document has the following sections:</P>
|
||||
|
||||
<OL>
|
||||
<LI><A HREF="#what">What is unit testing?</A></LI>
|
||||
<LI><A HREF="#why">Why is unit testing important?</A></LI>
|
||||
<LI><A HREF="#when">When should I write my unit tests?</A></LI>
|
||||
<LI><A HREF="#whattests">What kinds of tests should be in a unit test?</A></LI>
|
||||
<LI><A HREF="#testframework">What framework is being used to do unit testing for the AppKit?</A></LI>
|
||||
<LI><A HREF="#frameworkmods">What AppKit specific modifications have been made to this framework?</A></LI>
|
||||
<LI><A HREF="#futuremods">What framework modifications might be required in the future?</A></LI>
|
||||
<LI><A HREF="#buildingtests">How do I build the framework and current tests for the AppKit?</A></LI>
|
||||
<LI><A HREF="#runningtests">How do I run tests?</A></LI>
|
||||
<LI><A HREF="#writingtests">How do I write tests for my component?</A></LI>
|
||||
<LI><A HREF="#exampletests">Are there example tests to base mine on?</A></LI>
|
||||
<LI><A HREF="#threadedtests">How do I write a test with multiple threads?</A></LI>
|
||||
</OL>
|
||||
|
||||
<A NAME="what"></A><H2>What is unit testing?</H2>
|
||||
|
||||
<P>Unit testing is the process of showing that a part of a software system works as far as the
|
||||
requirements created for that part of the system. Unit testing is best if it has the following
|
||||
characteristics:</P>
|
||||
|
||||
<UL>
|
||||
<LI>The software component is tested in isolation with as little interaction with other software
|
||||
components as possible.</LI>
|
||||
<LI>The software component is tested using automated tools so that unit tests can be run with
|
||||
every build of the software if required.</LI>
|
||||
<LI>All requirements of the software component are tested as part of the unit tests.</LI>
|
||||
</UL>
|
||||
|
||||
<P>Unit testing is not the only type of testing but is definitely a very important part of any
|
||||
testing strategy. Following unit testing, software should go through "integration testing" to
|
||||
show that the components work as expected when put together.</P>
|
||||
|
||||
<A NAME="why"></A><H2>Why is unit testing important?</H2>
|
||||
|
||||
<P>A basic concept of software engineering is that the cost of fixing a bug goes up by a factor
|
||||
of 2-10x (depending on the source of the information) the later in the development process it is
|
||||
found. Unit testing is critical to finding implementation bugs within a particular component as
|
||||
quickly as possible.</P>
|
||||
|
||||
<P>Unit testing will also help to find requirements problems also. If you write the requirements
|
||||
(or use cases) for your component from the BeBook, hopefully the BeBook and your use cases will
|
||||
match the actual Be implementation. A good way to confirm that the BeBook documentation matches
|
||||
Be's implementation is to write your unit tests and run them against the original Be code.</P>
|
||||
|
||||
<P>Unit tests will also continue to be maintained and run in the future also. As the mailing
|
||||
lists obviously show, many people are looking forward to OpenBeOS post-R1 when new features
|
||||
will be introduced above and beyond BeOS R5. These unit tests will be critical to ensuring that
|
||||
any new feature or even just a bug fix doesn't break existing functionality.</P>
|
||||
|
||||
<P>Speaking of bug fixes, consider adding unit tests for any bugs you identify that slipped
|
||||
through your original unit test suite. This will ensure that this bug or a similar one is not
|
||||
re-introduced in the future.</P>
|
||||
|
||||
<P>Finally, unit testing is not the be all, end all of testing. As mentioned above, integration
|
||||
testing must be done to show that software components work together. If all unit tests cover
|
||||
all requirements and have run successfully against all components, then a failure has to be
|
||||
due to a bug in the interaction of two or more known working software components.</P>
|
||||
|
||||
<A NAME="when"></A><H2>When should I write my unit tests?</H2></LI>
|
||||
|
||||
<P>As the AppKit process document describes the recommended order for implementing a component
|
||||
is:</P>
|
||||
|
||||
<OL>
|
||||
<LI>Write an interface specification</LI>
|
||||
<LI>Write the use case specifications</LI>
|
||||
<LI>Write the unit tests</LI>
|
||||
<LI>Write an implementation plan</LI>
|
||||
<LI>Write the code</LI>
|
||||
</OL>
|
||||
|
||||
<P>Please see the AppKit process document for more details about the entire sequence. The unit
|
||||
test are to be written once the use cases are written and before any implementation work is
|
||||
done. The use cases must be done because they determine what the tests will be. You need to
|
||||
write as many tests are required so that all use cases for that component are tested. The use
|
||||
cases should be detailed enough that you can write your unit tests from them.</P>
|
||||
|
||||
<P>The unit tests are to be done before implementation for a very good reason. You should be able
|
||||
to run these unit tests against the Be implementation and confirm that they all pass. If they do
|
||||
not pass, then either there is a bug in the unit test itself or you have found a difference
|
||||
between your use cases and the actual implementation. Even if your use cases match the BeBook,
|
||||
if that is not how the actual Be implementation works, we must match the current implementation and
|
||||
not the BeBook. You should go back and modify the use case. Change the use case so that it
|
||||
matches Be's implementation and consider adding a note indicating this doesn't match the
|
||||
BeBook.</P>
|
||||
|
||||
<P>Imagine if you completed the implementation and then wrote and ran the unit tests. If you run
|
||||
the tests against your implementation and Be's implementation, you will notice the test passes
|
||||
for your code but fails on Be's. At this point, you will have to change the implementation, change
|
||||
the unit test and change the use case which is more work that if you write the unit tests before
|
||||
the implementation. Worse, if you only ran the unit tests against your implementation and not
|
||||
Be's, you may not notice the problem at all.</P>
|
||||
|
||||
<A NAME="whattest"></A><H2>What kinds of tests should be in a unit test?</H2>
|
||||
|
||||
<P>The unit tests you write should cover all the functionality of your software module. That
|
||||
means your unit tests should include:</P>
|
||||
|
||||
<UL>
|
||||
<LI>All standard expected functionality of the software component</LI>
|
||||
<LI>All error conditions handled by the software component</LI>
|
||||
<LI>Interaction with software components which cannot be decoupled from the target software
|
||||
component</LI>
|
||||
<LI>Concurrency tests to show that a software component which is expected to be thread safe (most
|
||||
things are under BeOS) is safe and free from deadlocks.</LI>
|
||||
</UL>
|
||||
|
||||
<A NAME="testframework"></A><H2>What framework is being used to do unit testing for the AppKit?</H2>
|
||||
|
||||
<P>The AppKit team has chosen to use CppUnit version 1.5 as the basis of all of our unit tests.
|
||||
This framework provides very useful features and ensures that all unit tests for AppKit code
|
||||
are consistent and can be executed from a single environment.</P>
|
||||
|
||||
<P>There are two key components to the framework. First, there is a library called libCppUnit.so
|
||||
which provides all the C++ classes for defining your own testcases. Secondly, there is an
|
||||
executable called "TestRunner" which is capable of executing a set of testcases.</P>
|
||||
|
||||
<P>For more information on CppUnit, please refer to
|
||||
<A HREF="http://cppunit.sourceforge.net/">this website</A>
|
||||
|
||||
<A NAME="frameworkmods"></A><H2>What AppKit specific modifications have been made to this framework?</H2>
|
||||
|
||||
<P>The following are the modifications that have been introduced into the CppUnit v1.5
|
||||
framework:</P>
|
||||
|
||||
<UL>
|
||||
<LI>A makefile has been added for the library and the TestRunner.</LI>
|
||||
<LI>Some "bugs" in CppUnit v1.5 which lead to it not compiling under BeOS v5.</LI>
|
||||
<LI>The TestRunner has been modified to support BeOS based addons. Each test which you can
|
||||
select from the TestRunner is found in the "add-ons" directory at runtime. The original
|
||||
TestRunner required you to change the TestRunner when new tests were added to it.</LI>
|
||||
<LI>Changed the output from TestRunner. The output includes a name of the test being run and
|
||||
a run time for the test in microseconds.</LI>
|
||||
<LI>Changed the arguments of the assert functions in the TestCase class from std::string to
|
||||
const char *'s due to apparent concurrency problems with std::string under BeOS when testing
|
||||
threaded tests.</LI>
|
||||
<LI>Added locking to the TestResults class so that multiple threads can safely add result
|
||||
information at the same time for a single test.</LI>
|
||||
<LI>The ThreadedTestCaller class was written to allow us to write tests which contain multiple
|
||||
threads. This is an important class because many BeOS components are thread safe and we need
|
||||
to confirm that the OpenBeOS implementation is also thread safe.</LI>
|
||||
</UL>
|
||||
|
||||
<P>This is the list of the important modifications done to CppUnit v1.5 at the time this document
|
||||
is being written. For the latest information about modifications to CppUnit, check the code
|
||||
which can be found in the OpenBeOS CVS repository.</P>
|
||||
|
||||
<A NAME="futuremods"></A><H2>What framework modifications might be required in the future?</H2>
|
||||
|
||||
<P>This framework will have to evolve as our needs grow. The main issues I think we need to
|
||||
solve are:</P>
|
||||
|
||||
<UL>
|
||||
<LI>The format of the test name is an encoded string representing the class definition of the
|
||||
test class from gcc. It is not a very readable format but given that the test class is often
|
||||
a template class and you would like different names for different instances of the template,
|
||||
this seemed the best compromise. Suggestions welcome.</LI>
|
||||
|
||||
<LI>The threaded test support added into CppUnit forces you to specify the entry point for each
|
||||
thread in your test. If you are doing a test with a BLooper or a BWindow, these classes start
|
||||
a thread of their own. This thread will not be started through the standard entry point so
|
||||
doing "assert's" from one of these threads will not work. Perhaps we need TestBLooper and
|
||||
TestBWindow classes which will work with the assert's.</LI>
|
||||
</UL>
|
||||
|
||||
<P>If you find you need some other features, feel free to add them to CppUnit.</P>
|
||||
|
||||
<A NAME="buildingtests"></A><H2>How do I build the framework and current tests for the AppKit?</H2>
|
||||
|
||||
<P>As of writing this document, you can build the framework and all the current AppKit tests
|
||||
by performing the following steps:</P>
|
||||
|
||||
<OL>
|
||||
|
||||
<LI>Checkout the "app_kit" sources or the entire repository from the OpenBeOS CVS repository.
|
||||
There is information at the OpenBeOS site about how to access the CVS repository.</LI>
|
||||
|
||||
<LI>In a terminal, "cd" into the "app_kit" directory in the CVS files you checked out.</LI>
|
||||
|
||||
<LI>Type "make".</LI>
|
||||
|
||||
</OL>
|
||||
|
||||
<P>Note that the build system for OpenBeOS is moving to jam so these steps may become obsolete.
|
||||
When you the make has finished, you should find the following files:</P>
|
||||
|
||||
<UL>
|
||||
|
||||
<LI><CODE>app_kit/test/CppUnit/TestRunner</CODE> - this is the executable to use to execute
|
||||
tests.</LI>
|
||||
<LI><CODE>app_kit/test/CppUnit/lib/libCppUnit.so</CODE> - this is CppUnit library which your tests
|
||||
must link against.</LI>
|
||||
<LI><CODE>app_kit/test/CppUnit/lib/libopenbeos.so</CODE> - this is library which contains OpenBeOS
|
||||
implementation of some Be classes (usually found in libbe.so, called libopenbeos.so to avoid a name
|
||||
clash at runtime).</LI>
|
||||
<LI><CODE>app_kit/test/add-ons/BAutolockTests</CODE> - this is the addon which contains the tests
|
||||
which are run against the Be and OpenBeOS implementation of BAutolock.</LI>
|
||||
<LI><CODE>app_kit/test/add-ons/BLockerTests</CODE> - this is the addon which contains the tests
|
||||
which are run against the Be and OpenBeOS implementation of BLocker.</LI>
|
||||
<LI><CODE>app_kit/test/add-ons/BMessageQueueTests</CODE> - this is the addon which contains the tests
|
||||
which are run against the Be and OpenBeOS implementation of BMessageQueue.</LI>
|
||||
|
||||
</UL>
|
||||
|
||||
<P>These are the key files which ensure that the tests can be run.</P>
|
||||
|
||||
<A NAME="runningtests"></A><H2>How do I run tests?</H2>
|
||||
|
||||
<P>You have a few different options for how you run a test or a series of tests. Before you start
|
||||
however, you must build the code as describe <A HREF="#buildingtests">in this section</A>. Once
|
||||
it is built, you can run tests any of these ways:</P>
|
||||
|
||||
<UL>
|
||||
<LI>Run "make test" from the app_kit directory. This will lead to all of the tests defined in
|
||||
app_kit/test/add-ons directory to be run.</LI>
|
||||
<LI>From the "app_kit/test" directory, execute the command "CppUnit/TestRunner -all". This will
|
||||
lead to all of the tests defined in the app_kit/test/add-ons directory to be run and is the same
|
||||
as what happens in the "make" example above. However, recompile any code that has changed in the
|
||||
process.</LI>
|
||||
<LI>From the "app_kit/test" directory, execute the command "CppUnit/TestRunner <TestName>"
|
||||
where <TestName> is one of the addons found in the "app_kit/test/add-ons" directory. Only
|
||||
the tests defined in that add-on will be run.</LI>
|
||||
</UL>
|
||||
|
||||
<A NAME="writingtests"></A><H2>How do I write tests for my component?</H2>
|
||||
|
||||
<P>The first step to writing your tests is to develop a plan for how you will test the
|
||||
functionality. For ideas of the kinds of tests you may want to consider, you should reference
|
||||
<A HREF="#whattests">this section</A>.</P>
|
||||
|
||||
<P>Once you know the kinds of tests you want, you need to:</P>
|
||||
|
||||
<UL>
|
||||
|
||||
<LI><P>For every test you want, define a class which derives from the "TestCase" class in the
|
||||
CppUnit framework.</P></LI>
|
||||
|
||||
<LI><P>Within each test class you define, create a "void setUp(void)" and "void tearDown(void)"
|
||||
member function if required. If before executing your test, you need to perform some actions,
|
||||
put those actions in the "setUp()" member. If you need to cleanup after your test, put those
|
||||
actions in the "tearDown()" member.</P></LI>
|
||||
|
||||
<LI><P>Within each test class you define, create a member function which takes "void" and
|
||||
returns "void". Within this member function, write the code to execute the test. Whenever you
|
||||
want to ensure that some condition is true during your test, add a line within the member function
|
||||
that looks like "assert(condition)". For example, if the variable "result" must have the value
|
||||
B_OK at a particular point in your test, you should add a line which reads
|
||||
"assert(result = B_OK)".</P></LI>
|
||||
|
||||
<LI><P>Create a constructor for all of your test classes that takes a "std::string name" argument
|
||||
and pass that onto the TestCase parent class. Add whatever actions you need to take in the
|
||||
constructor.</P></LI>
|
||||
|
||||
<LI><P>Create a destructor for all of your test classes and take whatever actions are
|
||||
appropriate.</P></LI>
|
||||
|
||||
<LI><P>Within each test class you define, create a member with the signature
|
||||
"static Test *suite(void)". For a simple test where only one test needs to be run for this class,
|
||||
the contents of this member should look like:</P>
|
||||
|
||||
<PRE>
|
||||
return(new TestCaller<ClassName>("", &ClassName::MemberName));
|
||||
</PRE>
|
||||
|
||||
<P>Replace "ClassName" with the name of your test class and "MemberName" with the name
|
||||
of the member function you defined your test in. If you need to define more than one test to run
|
||||
from this class, refer to instructions below on how to use the TestSuite class of CppUnit. If you
|
||||
are creating a threaded test, refer to <A HREF="#threadedtests">this section</A>.</P></LI>
|
||||
|
||||
<LI><P>Create one ".cpp" file for defining the "addonTestFunc()" function. This function must
|
||||
exist in global scope within your test addon. The contents of this ".cpp" file will look something
|
||||
like:</P>
|
||||
|
||||
<PRE>
|
||||
#include "TestAddon.h"
|
||||
|
||||
Test *addonTestFunc(void)
|
||||
{
|
||||
TestSuite *testSuite = new TestSuite("<TestSuiteName>");
|
||||
|
||||
testSuite->addTest(<ClassName1>::suite());
|
||||
testSuite->addTest(<ClassName2>::suite());
|
||||
/* etc */
|
||||
|
||||
return(testSuite);
|
||||
}
|
||||
</PRE>
|
||||
|
||||
<P>In the above example, replace <TestSuiteName> with an appropriate name for the group of
|
||||
tests and <ClassName1> and <ClassName2> with the names of the test classes you have
|
||||
defined.</P></LI>
|
||||
|
||||
<LI><P>Create a build system around a BeIDE project, Makefile or preferrably a jam file which
|
||||
builds all the necessary code you have written into an addon.</P></LI>
|
||||
|
||||
<LI><P>Put this addon into the app_kit/test/add-ons directory and follow the above instructions
|
||||
for how to run your tests.</P></LI>
|
||||
|
||||
</UL>
|
||||
|
||||
<A NAME="exampletests"></A><H2>Are there example tests to base mine on?</H2>
|
||||
|
||||
<P>There are example tests which you can find in the following directories:</P>
|
||||
|
||||
<UL>
|
||||
<LI><CODE>app_kit/test/lib/application/BMessageQueue</CODE></LI>
|
||||
<LI><CODE>app_kit/test/lib/support/BAutolock</CODE></LI>
|
||||
<LI><CODE>app_kit/test/lib/support/BLocker</CODE></LI>
|
||||
</UL>
|
||||
|
||||
<P>There are some things done in these tests which make things a bit more complex, but you may
|
||||
want to do similar things:</P>
|
||||
|
||||
<UL>
|
||||
|
||||
<LI>Most tests use a ThreadedTestCaller class even in some situations when there aren't actually
|
||||
more than one thread in the test.</LI>
|
||||
|
||||
<LI>All tests are defined as a template class. The test class is a template of the class to test
|
||||
(if that makes sense to you). For example, to test both the Be and OpenBeOS BLocker and not
|
||||
end up with a symbol conflict, the OpenBeOS implementation of BLocker is actually in a namespace
|
||||
called "OpenBeOS". So, the tests must be run against the classes "::BLocker" and
|
||||
"OpenBeOS::BLocker". The easiest way to do this was to make the class to be tested a template
|
||||
and define it for both "::BLocker" and "OpenBeOS::BLocker".</LI>
|
||||
|
||||
</UL>
|
||||
|
||||
<P>Even with the complexity, I think this code provides a pretty good example of how to write
|
||||
your tests.</P>
|
||||
|
||||
<A NAME="threadedtests"></A><H2>How do I write a test with multiple threads?</H2>
|
||||
|
||||
<P>If you have a test which you want to define that requires more than one thread of execution
|
||||
(most likely a concurrency test of you code), you need to use the ThreadedTestCaller class.
|
||||
The steps which differ from the above description on how to write a test case are:</P>
|
||||
|
||||
<UL>
|
||||
|
||||
<LI><P>In your test class, define a member function for each thread you will be starting. All of
|
||||
these member functions must take "void" and return "void". If all the threads in your test
|
||||
perform the exact same actions, it is OK to just define one member function. Usually in the
|
||||
tests I have written, I have called these member functions "TestThread1()", "TestThread2()",
|
||||
etc.</P></LI>
|
||||
|
||||
<LI><P>If your "static Test *suite()" function for your test class, you must return a
|
||||
ThreadedTestCaller. Imagine that the test class name is "MyTestClass" and you want two threads
|
||||
which run member functions "TestThread1()" and "TestThread2()". That code would look like:</P>
|
||||
|
||||
<PRE>
|
||||
Test *MyTestClass::suite(void)
|
||||
{
|
||||
MyTestClass *theTest = new MyTestClass("");
|
||||
ThreadedTestCaller<MyTestClass> *threadedTest = new TreadedTestCaller<MyTestClass>("", theTest);
|
||||
|
||||
threadedTest->addThread(":Thread1", &MyTestClass::TestThread1);
|
||||
threadedTest->addThread(":Thread2", &MyTestClass::TestThread2);
|
||||
|
||||
return(threadedTest);
|
||||
}
|
||||
</PRE>
|
||||
|
||||
<P>If you need to, you can put a number of ThreadedTestCaller instances into a TestSuite and return
|
||||
them in the suite() member function. Examples of this can be found in the BLocker and
|
||||
BMessageQueue test examples.</P></LI>
|
||||
|
||||
</UL>
|
||||
|
||||
<P>Otherwise the steps are the same as for other tests. The code gets much more complex if you
|
||||
define your test classes as templates as the examples do.</P>
|
||||
|
||||
</FONT>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
After Width: | Height: | Size: 925 B |
|
After Width: | Height: | Size: 1021 B |
|
After Width: | Height: | Size: 186 B |
|
After Width: | Height: | Size: 988 B |
|
After Width: | Height: | Size: 1003 B |
|
After Width: | Height: | Size: 987 B |
|
After Width: | Height: | Size: 837 B |
@@ -0,0 +1,43 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Interface Kit Team Central</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Welcome to Interface Kit Team Central!</h1>
|
||||
<p>
|
||||
This is the IK Team's public face, where OpenBeOS folk and intrepid members of the
|
||||
BeOS community can find such goodies as:
|
||||
|
||||
<ul>
|
||||
<li>The IK Team <a href="IK_Process.html">Process</a></li>
|
||||
<li>The IK Team <a href="schedule/index.html">Schedule</a>, including:
|
||||
<ul>
|
||||
<li><a href="schedule/index.html#CurrentStatus">Current Status</a></li>
|
||||
<li>Project Milestones</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>IK Team <a href="schedule/assignments.html">assignments</a></li>
|
||||
<li>A tongue-in-cheek paper on
|
||||
<a href="BinCompat.html">Maintaining Binary Compatibility</a>
|
||||
</li>
|
||||
<li>An article on <a href="UnitTestingInfo.html">unit testing</a> by Jeremy Rand
|
||||
</li>
|
||||
</ul>
|
||||
With more sure to come.
|
||||
<br>
|
||||
<hr>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,71 @@
|
||||
<html>
|
||||
<title>Schedule Rationale</title>
|
||||
<body>
|
||||
<h1>Schedule Rationale</h1>
|
||||
Below is an informal discussion of the rationale behind the Interface Kit team's
|
||||
behemoth schedule. Various details may not reflect the current form of the schedule,
|
||||
but the basic gist is what's really important here.
|
||||
<br>
|
||||
<hr>
|
||||
<p>
|
||||
First, let me head off the suggestion that we formally split into 3 or 4 stand-alone
|
||||
projects: the Interface Kit, Application Kit and app_server are completely
|
||||
dependent on one another in a way that no other set of system components is. Each
|
||||
without the others can accomplish almost *nothing*; I think the existence of Integration
|
||||
highlights this fact.
|
||||
</p><p>
|
||||
Each milestone listed has a number of tasks associated with it; these need to be listed
|
||||
and the time for each estimated. These tasks should be as fine grained as possible.
|
||||
Taking BView as an example, I would expect each method on BView to have its own entry
|
||||
under milestones 1, 2, 3, 4 and 8 with entries added as necessary to milestones 18 to
|
||||
22. "Why so detailed?" you say. I'm glad you asked. ;)
|
||||
</p><p>
|
||||
First off, the finer the schedule's granularity, the more realistic estimate you have for
|
||||
the project as a whole. Asked to implement BView, one might be tempted to say "Oh, about
|
||||
3 weeks," whereas an estimate of the time needed for each method might yield a total of
|
||||
two to three times that. While the more realistic overall estimate may be more depressing
|
||||
initially, being able to hit goals on or near the estimated date is much better for
|
||||
morale in the long run than constantly being behind because all the estimates were too
|
||||
low. Trust me on this, I've worked on *way* too many projects that went south because of
|
||||
scheduling that was too broad -- usually because the project manager doesn't want to
|
||||
"distress" the client by making them pay for the time to schedule correctly. Or design
|
||||
correctly, but that's a different rant. =)
|
||||
</p><p>
|
||||
Second, a fine-grained schedule helps to ensure that nothing gets missed. You might
|
||||
think it would be hard to forget to implement a BView method, but if you don't expressly
|
||||
schedule for that method, there will be no interface, use case or technical specifications
|
||||
or unit tests to fail because the method isn't doing anything. In fact, we might not
|
||||
notice the missing functionality until some app that uses it dies a horrible death and
|
||||
we have to figure out why.
|
||||
</p><p>
|
||||
Third, it helps us figure out what functionality is dependent on what -- which helps us
|
||||
schedule our tasks in a logical sequence.
|
||||
</p><p>
|
||||
Fourth, it makes it much easier for someone that doesn't have a lot of time available or
|
||||
much experience to pick something that they can tackle and know that they will be making
|
||||
a meaningful contribution. It also makes it easier for us to keep track of who is doing
|
||||
what on large items like BView: instead of saying "there's a bunch of stuff on BView
|
||||
that needs doing," we can say "BView::StrokeEllipse() needs to be implemented" and know
|
||||
that a specific person is responsible for that deliverable.
|
||||
</p><p>
|
||||
Fifth, as daunting as a detailed schedule looks like out of the gate, tasks are getting
|
||||
completed *constantly* and it's very satisfying to see progress get made on a regular
|
||||
basis. Ideally, one would like to be able to check on the progress each week and find
|
||||
several items completed since the last time it was checked.
|
||||
</p>
|
||||
<hr>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,165 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Application Kit Milestones</title>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<h1>Application Kit Milestones<hr></h1>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
Interface specs completed for all classes, functions, structs
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="4" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="196" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="right">2%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
|
||||
</li>
|
||||
<li>
|
||||
Use cases completed for all classes, functions, structs
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="4" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="196" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">2%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
|
||||
</li>
|
||||
<li>
|
||||
Unit tests completed for all classes, functions, structs
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="4" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="196" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">2%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
|
||||
</li>
|
||||
<li>
|
||||
Design discussions completed for all classes, functions, structs
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="4" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="196" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">2%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
|
||||
</li>
|
||||
<li>
|
||||
<a href="Messaging.html">Messaging</a> complete
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="38" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="162" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="35" align="right">19%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
<li>
|
||||
<a href="BHandler.html">BHandler</a> complete
|
||||
|
||||
<li>
|
||||
<a href="BLooper.html">BLooper</a> complete
|
||||
|
||||
<li>
|
||||
<a href="Roster.html">Roster</a> complete
|
||||
|
||||
<li>
|
||||
<a href="Clipboard.html">Clipboard</a> complete
|
||||
|
||||
<li>
|
||||
<a href="BCursor.html">BCursor</a> complete
|
||||
|
||||
<li>
|
||||
<a href="ScriptingSupport.html">Scripting Support</a> complete
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
Alpha
|
||||
</li>
|
||||
<li>
|
||||
Beta 1
|
||||
</li>
|
||||
<li>
|
||||
Beta 2
|
||||
</li>
|
||||
<li>
|
||||
Release Candidate 1
|
||||
</li>
|
||||
<li>
|
||||
1.0!
|
||||
</li>
|
||||
</ol>
|
||||
<!-- Not implemented yet
|
||||
See the complete list of <a href="ApplicationKitTasks.html">Application Kit tasks</a>.
|
||||
|
||||
<br>
|
||||
-->
|
||||
<hr>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,305 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BCursor Tasks</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>BCursor Tasks<hr></h1>
|
||||
|
||||
|
||||
<!-- summary table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th><strong>Task Summary</strong></th>
|
||||
<th><strong>Owner</strong></th>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td width="100%">
|
||||
BCursor
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td width="25%">
|
||||
Gabe Yoder
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- detail table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th width="100%"><strong>Task Details</strong></th>
|
||||
<!-- <th><strong>Owner</strong></th> -->
|
||||
|
||||
<!-- Class header -->
|
||||
<tr>
|
||||
<td colspan="7"><center><strong>BCursor Class</strong></center></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BCursor(const void* cursorData);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BCursor(BMessage* data);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ~BCursor();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual status_t Archive(BMessage* into, bool deep = true) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
static BArchivable* Instantiate(BMessage* data);
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<br><br>
|
||||
|
||||
<!-- legend table -->
|
||||
<a name="legend">
|
||||
<table border>
|
||||
<tr>
|
||||
<td align="center"><strong>Legend</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td>Functional Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/User.gif" width="22" height="22" alt="Use Cases"></td>
|
||||
<td>Use Cases</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td>Unit Tests</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td>Technical Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation"></td>
|
||||
<td>Implementation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Check.gif" width="22" height="22" alt="Completed"></td>
|
||||
<td>Completed</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</a>
|
||||
<br>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,930 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BHandler Tasks</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>BHandler Tasks<hr></h1>
|
||||
|
||||
|
||||
<!-- summary table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th><strong>Task Summary</strong></th>
|
||||
<th><strong>Owner</strong></th>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td width="100%">
|
||||
BHandler
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td width="25%">
|
||||
Erik Jaesler
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- detail table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th width="100%"><strong>Task Details</strong></th>
|
||||
<!-- <th><strong>Owner</strong></th> -->
|
||||
|
||||
<!-- Class header -->
|
||||
<tr>
|
||||
<td colspan="7"><center><strong>BHandler Class</strong></center></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BHandler(const char* name = NULL);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BHandler(BMessage* data);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ~BHandler();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
static BArchivable* Instantiate(BMessage* data);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual status_t Archive(BMessage* data, bool deep = true) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual void MessageReceived(BMessage* message);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BLooper* Looper() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void SetName(const char* name);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
const char* Name() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual void SetNextHandler(BHandler* handler);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BHandler* NextHandler() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual void AddFilter(BMessageFilter* filter);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual bool RemoveFilter(BMessageFilter* filter);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual void SetFilterList(BList* filters);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BList* FilterList();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
bool LockLooper();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t LockLooperWithTimeout(bigtime_t timeout);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void UnlockLooper();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual BHandler* ResolveSpecifier(BMessage* msg, int32 index, BMessage* specifier, int32 form, const char* property);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual status_t GetSupportedSuites(BMessage* data);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t StartWatching(BMessenger, uint32 what);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t StartWatchingAll(BMessenger);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t StopWatching(BMessenger, uint32 what);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t StopWatchingAll(BMessenger);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t StartWatching(BHandler* , uint32 what);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t StartWatchingAll(BHandler* );
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t StopWatching(BHandler* , uint32 what);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t StopWatchingAll(BHandler* );
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual void SendNotices(uint32 what, const BMessage* = 0);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
bool IsWatched() const;
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<br><br>
|
||||
|
||||
<!-- legend table -->
|
||||
<a name="legend">
|
||||
<table border>
|
||||
<tr>
|
||||
<td align="center"><strong>Legend</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td>Functional Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/User.gif" width="22" height="22" alt="Use Cases"></td>
|
||||
<td>Use Cases</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td>Unit Tests</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td>Technical Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation"></td>
|
||||
<td>Implementation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Check.gif" width="22" height="22" alt="Completed"></td>
|
||||
<td>Completed</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</a>
|
||||
<br>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,555 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Clipboard Tasks</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Clipboard Tasks<hr></h1>
|
||||
|
||||
|
||||
<!-- summary table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th><strong>Task Summary</strong></th>
|
||||
<th><strong>Owner</strong></th>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td width="100%">
|
||||
BClipboard
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td width="25%">
|
||||
Gabe Yoder
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- detail table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th width="100%"><strong>Task Details</strong></th>
|
||||
<!-- <th><strong>Owner</strong></th> -->
|
||||
|
||||
<!-- Class header -->
|
||||
<tr>
|
||||
<td colspan="7"><center><strong>BClipboard Class</strong></center></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BClipboard(const char* name, bool transient = false);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ~BClipboard();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
const char* Name() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
uint32 LocalCount() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
uint32 SystemCount() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t StartWatching(BMessenger target);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t StopWatching(BMessenger target);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
bool Lock();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void Unlock();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
bool IsLocked() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t Clear();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t Commit();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t Revert();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BMessenger DataSource() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BMessage* Data() const;
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<br><br>
|
||||
|
||||
<!-- legend table -->
|
||||
<a name="legend">
|
||||
<table border>
|
||||
<tr>
|
||||
<td align="center"><strong>Legend</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td>Functional Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/User.gif" width="22" height="22" alt="Use Cases"></td>
|
||||
<td>Use Cases</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td>Unit Tests</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td>Technical Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation"></td>
|
||||
<td>Implementation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Check.gif" width="22" height="22" alt="Completed"></td>
|
||||
<td>Completed</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</a>
|
||||
<br>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,955 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Roster Tasks</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Roster Tasks<hr></h1>
|
||||
|
||||
|
||||
<!-- summary table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th><strong>Task Summary</strong></th>
|
||||
<th><strong>Owner</strong></th>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td width="100%">
|
||||
BRoster
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td width="25%">
|
||||
Joe Banafato
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- detail table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th width="100%"><strong>Task Details</strong></th>
|
||||
<!-- <th><strong>Owner</strong></th> -->
|
||||
|
||||
<!-- Class header -->
|
||||
<tr>
|
||||
<td colspan="7"><center><strong>BRoster Class</strong></center></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BRoster();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
~BRoster();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
bool IsRunning(const char* mime_sig) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
bool IsRunning(entry_ref* ref) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
team_id TeamFor(const char* mime_sig) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
team_id TeamFor(entry_ref* ref) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void GetAppList(BList* team_id_list) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void GetAppList(const char* sig, BList* team_id_list) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t GetAppInfo(const char* sig, app_info* info) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t GetAppInfo(entry_ref* ref, app_info* info) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t GetRunningAppInfo(team_id team, app_info* info) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t GetActiveAppInfo(app_info* info) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t FindApp(const char* mime_type, entry_ref* app) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t FindApp(entry_ref* ref, entry_ref* app) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t Broadcast(BMessage* msg) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t Broadcast(BMessage* msg, BMessenger reply_to) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t StartWatching(BMessenger target, uint32 event_mask = B_REQUEST_LAUNCHED | B_REQUEST_QUIT) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t StopWatching(BMessenger target) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t ActivateApp(team_id team) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t Launch(const char* mime_type, BMessage* initial_msgs = NULL, team_id* app_team = NULL) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t Launch(const char* mime_type, BList* message_list, team_id* app_team = NULL) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t Launch(const char* mime_type, int argc, char** args, team_id* app_team = NULL) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t Launch(const entry_ref* ref, const BMessage* initial_message = NULL, team_id* app_team = NULL) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t Launch(const entry_ref* ref, const BList* message_list, team_id* app_team = NULL) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t Launch(const entry_ref* ref, int argc, const char* const* args, team_id* app_team = NULL) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void GetRecentDocuments(BMessage* refList, int32 maxCount, const char* ofType = NULL, const char* openedByAppSig = NULL) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void GetRecentDocuments(BMessage* refList, int32 maxCount, const char* ofTypeList[], int32 ofTypeListCount, const char* openedByAppSig = NULL) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void GetRecentFolders(BMessage* refList, int32 maxCount, const char* openedByAppSig = NULL) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void GetRecentApps(BMessage* refList, int32 maxCount) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void AddToRecentDocuments(const entry_ref* doc, const char* appSig = NULL) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void AddToRecentFolders(const entry_ref* folder,const char* appSig = NULL) const;
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<br><br>
|
||||
|
||||
<!-- legend table -->
|
||||
<a name="legend">
|
||||
<table border>
|
||||
<tr>
|
||||
<td align="center"><strong>Legend</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td>Functional Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/User.gif" width="22" height="22" alt="Use Cases"></td>
|
||||
<td>Use Cases</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td>Unit Tests</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td>Technical Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation"></td>
|
||||
<td>Implementation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Check.gif" width="22" height="22" alt="Completed"></td>
|
||||
<td>Completed</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</a>
|
||||
<br>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,580 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Scripting Support Tasks</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Scripting Support Tasks<hr></h1>
|
||||
|
||||
|
||||
<!-- summary table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th><strong>Task Summary</strong></th>
|
||||
<th><strong>Owner</strong></th>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td width="100%">
|
||||
BPropertyInfo
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td width="25%">
|
||||
Jeremy Rand
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- detail table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th width="100%"><strong>Task Details</strong></th>
|
||||
<!-- <th><strong>Owner</strong></th> -->
|
||||
|
||||
<!-- Class header -->
|
||||
<tr>
|
||||
<td colspan="7"><center><strong>BPropertyInfo Class</strong></center></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BPropertyInfo(property_info* p = NULL, value_info* ci = NULL, bool free_on_delete = false);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ~BPropertyInfo();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual int32 FindMatch(BMessage* msg, int32 index, BMessage* spec, int32 form, const char* prop, void* data = NULL) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual bool IsFixedSize() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual type_code TypeCode() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ssize_t FlattenedSize() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual status_t Flatten(void* buffer, ssize_t size) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual bool AllowsTypeCode(type_code code) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual status_t Unflatten(type_code c, const void* buf, ssize_t s);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
const property_info* Properties() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
const value_info* Values() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
int32 CountProperties() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
int32 CountValues() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void PrintToStream() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
static bool FindCommand(uint32, int32, property_info* );
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
static bool FindSpecifier(uint32, property_info* );
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<br><br>
|
||||
|
||||
<!-- legend table -->
|
||||
<a name="legend">
|
||||
<table border>
|
||||
<tr>
|
||||
<td align="center"><strong>Legend</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td>Functional Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/User.gif" width="22" height="22" alt="Use Cases"></td>
|
||||
<td>Use Cases</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td>Unit Tests</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td>Technical Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation"></td>
|
||||
<td>Implementation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Check.gif" width="22" height="22" alt="Completed"></td>
|
||||
<td>Completed</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</a>
|
||||
<br>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,789 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Interface Kit Team Assignments</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
Interface Kit Team Assignments and Open Tasks
|
||||
<hr>
|
||||
</h1>
|
||||
|
||||
<h2>
|
||||
Assignments:
|
||||
</h2>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
Erik Jaesler
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BMessageFilter
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BHandler
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BLooper
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BAlert
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BArchivable
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BArchivable
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BApplication
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Gabe Yoder
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BClipboard
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BCursor
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Graham Gilmore
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BBlockCache
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Graham Macdonald
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BPictureButton
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Greg Gelfond
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BPoint
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BShape
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BStringItem
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Issac Yonemoto
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BRect
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BRegion
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BList
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Jeremy Rand
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BMessageQueue
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BPropertyInfo
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BDeskbar
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BAutoLock
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BLocker
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Joe Banafato
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BRoster
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Justin Gasper
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BMenu
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BMenuBar
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BMenuItem
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Marc Flerackers
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BControl
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BButton
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BCheckBox
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BRadioButton
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BTab
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BTabView
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BBox
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BStatusBar
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Staffan Hellstrom
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BPolygon
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BSlider
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Steve Vallee
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BDataIO
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BMallocIO
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BMemoryIO
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BPositionIO
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
Misc
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BString Utility
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BString
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BStopWatch
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Ulrich Wimboeck
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BListItem
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BListView
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BOutlineListView
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
William Bull
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BMessage
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Xavier Castellan
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BBitmap
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
<h2>
|
||||
Open Tasks:
|
||||
</h2>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
Application Kit
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BInvoker
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BMessageRunner
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BMessenger
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BMessenger Support
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Integration
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BWindow
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BView
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Interface Kit
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BPicture
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BScreen
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BShapeIterator
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
Screen Support
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BFont
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
Font Support
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BColorControl
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BStringView
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BScrollBar
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BScrollView
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
Scrollbar Config
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BSeparatorItem
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BMenuField
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BPopUpMenu
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
Menu Config
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BTextView
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BTextControl
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
unicode_block
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
Deskbar Support
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
Mouse Config
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
Workspace Support
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
Keyboard Config
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
UI Color Info
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
Miscellaneous
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BDragger
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BShelf
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BChannelControl
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BChannelSlider
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BMultiChannelControl
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BOptionControl
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
BOptionPopUp
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<br>
|
||||
<hr>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,147 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Interface Kit Team Schedule</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Interface Kit Team Schedule<hr></h1>
|
||||
<p>
|
||||
Here is the schedule for the Interface Kit Team. To help organize our work,
|
||||
tasks have been broken into 4 general areas:
|
||||
<ul>
|
||||
<li><a href="ApplicationKit/ApplicationKitMilestones.html">Application Kit</a></li>
|
||||
<li><a href="InterfaceKit/InterfaceKitMilestones.html">Interface Kit</a></li>
|
||||
<li><a href="Integration/IntegrationMilestones.html">Integration</a></li>
|
||||
<li><a href="SupportKit/SupportKitMilestones.html">Support Kit</a></li>
|
||||
|
||||
</ul>
|
||||
</p><p>
|
||||
Organizationally, it's best to consider these as separate projects within the
|
||||
scope of the IK Team's charter. As such, core contributors should pick a
|
||||
project and stick with it -- it will make things a lot easier to keep track of,
|
||||
and losing track of stuff would be a bad thing. =)
|
||||
</p><p>
|
||||
DarkWyrm is the technical lead for the app_server; he has done an enormous amount
|
||||
of research and he is currently in the best position to lead the effort.
|
||||
</p><p>
|
||||
Erik Jakowatz will continue in his capacity as overall project lead, as well as
|
||||
being directly involved in Integration as technical lead.
|
||||
</p><p>
|
||||
A word of warning: this schedule is downright huge because of the sheer number of
|
||||
items to be completed. There is a paper available in which the rationale behind the
|
||||
schedule is <a href="Discussion.html">discussed</a>.
|
||||
</p>
|
||||
<hr>
|
||||
<h2><a name="CurrentStatus"></a>Current Status</h2>
|
||||
Here are some fuzzy indicators of what progress the team has made base on the number of
|
||||
outstanding tasks completed. No warranty is made concerning the accuracy of these
|
||||
graphs. =)
|
||||
<br><br>
|
||||
|
||||
<!-- And here we go into table madness! -->
|
||||
<table cellspacing="0">
|
||||
<!-- sub-project header -->
|
||||
<tr>
|
||||
<td colspan="3" align="left"><strong>Overall</strong></td>
|
||||
</tr>
|
||||
<!-- progress graph -->
|
||||
<tr>
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- how much is done -->
|
||||
<td width="24" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="176" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">12%</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
</tr>
|
||||
|
||||
<!-- sub-project header -->
|
||||
<tr>
|
||||
<td colspan="3" align="left"><strong><br><br>Application Kit</strong></td>
|
||||
</tr>
|
||||
<!-- progress graph -->
|
||||
<tr>
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- how much is done -->
|
||||
<td width="4" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="196" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">2%</td>
|
||||
</tr>
|
||||
</table>
|
||||
</tr>
|
||||
<!-- sub-project header -->
|
||||
<tr>
|
||||
<td colspan="3" align="left"><strong><br><br>Interface Kit</strong></td>
|
||||
</tr>
|
||||
<!-- progress graph -->
|
||||
<tr>
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- how much is done -->
|
||||
<td width="8" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="192" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">4%</td>
|
||||
</tr>
|
||||
</table>
|
||||
</tr>
|
||||
<!-- sub-project header -->
|
||||
<tr>
|
||||
<td colspan="3" align="left"><strong><br><br>Integration</strong></td>
|
||||
</tr>
|
||||
<!-- progress graph -->
|
||||
<tr>
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- how much is done -->
|
||||
<td width="50" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="150" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">25%</td>
|
||||
</tr>
|
||||
</table>
|
||||
</tr>
|
||||
<!-- sub-project header -->
|
||||
<tr>
|
||||
<td colspan="3" align="left"><strong><br><br>Support Kit</strong></td>
|
||||
</tr>
|
||||
<!-- progress graph -->
|
||||
<tr>
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- how much is done -->
|
||||
<td width="40" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="160" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">20%</td>
|
||||
</tr>
|
||||
</table>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<br>
|
||||
<hr>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,513 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BArchivable Tasks</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>BArchivable Tasks<hr></h1>
|
||||
|
||||
|
||||
<!-- summary table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th><strong>Task Summary</strong></th>
|
||||
<th><strong>Owner</strong></th>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td width="100%">
|
||||
BArchivable
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td width="25%">
|
||||
Erik Jaesler
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td width="100%">
|
||||
BArchivable
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td width="25%">
|
||||
Erik Jaesler
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- detail table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th width="100%"><strong>Task Details</strong></th>
|
||||
<!-- <th><strong>Owner</strong></th> -->
|
||||
|
||||
<!-- Class header -->
|
||||
<tr>
|
||||
<td colspan="7"><center><strong>BArchivable Class</strong></center></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BArchivable();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BArchivable(BMessage* from);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
~BArchivable();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual status_t Archive(BMessage* into, bool deep = true) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
static BArchivable* Instantiate(BMessage* from);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual status_t Perform(perform_code d, void* arg); ???
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Functions header -->
|
||||
<tr>
|
||||
<td colspan="7"><center><strong>BArchivable Functions</strong></center></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BArchivable* instantiate_object(BMessage* from, image_id* id);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BArchivable* instantiate_object(BMessage* from);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
bool validate_instantiation(BMessage* from, const char* class_name);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
instantiation_func find_instantiation_func(const char* class_name, const char* sig);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
instantiation_func find_instantiation_func(const char* class_name);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
instantiation_func find_instantiation_func(BMessage* archive_data);
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<br><br>
|
||||
|
||||
<!-- legend table -->
|
||||
<a name="legend">
|
||||
<table border>
|
||||
<tr>
|
||||
<td align="center"><strong>Legend</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td>Functional Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/User.gif" width="22" height="22" alt="Use Cases"></td>
|
||||
<td>Use Cases</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td>Unit Tests</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td>Technical Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation"></td>
|
||||
<td>Implementation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Check.gif" width="22" height="22" alt="Completed"></td>
|
||||
<td>Completed</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</a>
|
||||
<br>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,156 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Integration Milestones</title>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<h1>Integration Milestones<hr></h1>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
Interface specs completed for all classes, functions, structs
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="50" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="150" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="right">25%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
|
||||
</li>
|
||||
<li>
|
||||
Use cases completed for all classes, functions, structs
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="50" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="150" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">25%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
|
||||
</li>
|
||||
<li>
|
||||
Unit tests completed for all classes, functions, structs
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="50" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="150" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">25%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
|
||||
</li>
|
||||
<li>
|
||||
Design discussions completed for all classes, functions, structs
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="50" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="150" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">25%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
|
||||
</li>
|
||||
<li>
|
||||
<a href="BArchivable.html">BArchivable</a> complete
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="200" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="0" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="35" align="right">100%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
<li>
|
||||
<a href="BApplication.html">BApplication</a> complete
|
||||
|
||||
<li>
|
||||
<a href="BWindow.html">BWindow</a> complete
|
||||
|
||||
<li>
|
||||
<a href="BView.html">BView</a> complete
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
Alpha
|
||||
</li>
|
||||
<li>
|
||||
Beta 1
|
||||
</li>
|
||||
<li>
|
||||
Beta 2
|
||||
</li>
|
||||
<li>
|
||||
Release Candidate 1
|
||||
</li>
|
||||
<li>
|
||||
1.0!
|
||||
</li>
|
||||
</ol>
|
||||
<!-- Not implemented yet
|
||||
See the complete list of <a href="IntegrationTasks.html">Integration tasks</a>.
|
||||
|
||||
<br>
|
||||
-->
|
||||
<hr>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,195 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Interface Kit Milestones</title>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<h1>Interface Kit Milestones<hr></h1>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
Interface specs completed for all classes, functions, structs
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="6" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="194" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="right">3%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
|
||||
</li>
|
||||
<li>
|
||||
Use cases completed for all classes, functions, structs
|
||||
|
||||
|
||||
</li>
|
||||
<li>
|
||||
Unit tests completed for all classes, functions, structs
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="4" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="196" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">2%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
|
||||
</li>
|
||||
<li>
|
||||
Design discussions completed for all classes, functions, structs
|
||||
|
||||
|
||||
</li>
|
||||
<li>
|
||||
<a href="Group1Support.html">Group 1 Support</a> complete
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="50" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="150" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="35" align="right">25%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
<li>
|
||||
<a href="Group2Support.html">Group 2 Support</a> complete
|
||||
|
||||
<li>
|
||||
<a href="Group3Support.html">Group 3 Support</a> complete
|
||||
|
||||
<li>
|
||||
<a href="ControlWidgets.html">Control Widgets</a> complete
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="16" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="184" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="35" align="right">8%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
<li>
|
||||
<a href="Non-ControlWidgets.html">Non-Control Widgets</a> complete
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="26" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="174" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="35" align="right">13%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
<li>
|
||||
<a href="ScrollingSupport.html">Scrolling Support</a> complete
|
||||
|
||||
<li>
|
||||
<a href="MenuingSupport.html">Menuing Support</a> complete
|
||||
|
||||
<li>
|
||||
<a href="ListViewSupport.html">ListView Support</a> complete
|
||||
|
||||
<li>
|
||||
<a href="TextViewSupport.html">TextView Support</a> complete
|
||||
|
||||
<li>
|
||||
<a href="Miscellaneous.html">Miscellaneous</a> complete
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="8" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="192" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="35" align="right">4%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
<li>
|
||||
<a href="ReplicantSupport.html">Replicant Support</a> complete
|
||||
|
||||
<li>
|
||||
<a href="AdvancedControlWidgets.html">Advanced Control Widgets</a> complete
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
Alpha
|
||||
</li>
|
||||
<li>
|
||||
Beta 1
|
||||
</li>
|
||||
<li>
|
||||
Beta 2
|
||||
</li>
|
||||
<li>
|
||||
Release Candidate 1
|
||||
</li>
|
||||
<li>
|
||||
1.0!
|
||||
</li>
|
||||
</ol>
|
||||
<!-- Not implemented yet
|
||||
See the complete list of <a href="InterfaceKitTasks.html">Interface Kit tasks</a>.
|
||||
|
||||
<br>
|
||||
-->
|
||||
<hr>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,339 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>BStopWatch Tasks</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>BStopWatch Tasks<hr></h1>
|
||||
|
||||
|
||||
<!-- master table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th><strong>Task</strong></th>
|
||||
<th><strong>Owner</strong></th>
|
||||
|
||||
<!-- Class header -->
|
||||
<tr>
|
||||
<td colspan="7"><center><strong>Class BStopWatch</strong></center></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BStopWatch(const char *name, bool silent = false);
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ~BStopWatch();
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void Suspend();
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void Resume();
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
bigtime_t Lap();
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
bigtime_t ElapsedTime() const;
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void Reset();
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
const char* Name() const;
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<br><br>
|
||||
|
||||
<!-- legend table -->
|
||||
<a name="legend">
|
||||
<table border>
|
||||
<tr>
|
||||
<td align="center"><strong>Legend</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td>Functional Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/User.gif" width="22" height="22" alt="Use Cases"></td>
|
||||
<td>Use Cases</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td>Unit Tests</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td>Technical Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation"></td>
|
||||
<td>Implementation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Check.gif" width="22" height="22" alt="Completed"></td>
|
||||
<td>Completed</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</a>
|
||||
<br>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>Hosted by:</small><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002 OpenBeOS Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,904 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>IO Tasks</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>IO Tasks<hr></h1>
|
||||
|
||||
|
||||
<!-- summary table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th><strong>Task Summary</strong></th>
|
||||
<th><strong>Owner</strong></th>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td width="100%">
|
||||
BDataIO
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td width="25%">
|
||||
Steve Vallee
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td width="100%">
|
||||
BMallocIO
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td width="25%">
|
||||
Steve Vallee
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td width="100%">
|
||||
BMemoryIO
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td width="25%">
|
||||
Steve Vallee
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td width="100%">
|
||||
BPositionIO
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td width="25%">
|
||||
Steve Vallee
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- detail table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th width="100%"><strong>Task Details</strong></th>
|
||||
<!-- <th><strong>Owner</strong></th> -->
|
||||
|
||||
<!-- Class header -->
|
||||
<tr>
|
||||
<td colspan="7"><center><strong>BDataIO Class</strong></center></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BDataIO
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ~BDataIO();
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Class header -->
|
||||
<tr>
|
||||
<td colspan="7"><center><strong>BMallocIO Class</strong></center></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BMallocIO();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ~BMallocIO();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ssize_t ReadAt(off_t pos, void *buffer, size_t size);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ssize_t WriteAt(off_t pos, const void *buffer, size_t size);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual off_t Seek(off_t pos, uint32 seek_mode);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual off_t Position() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual status_t SetSize(off_t size);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void SetBlockSize(size_t blocksize);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
const void* Buffer() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
size_t BufferLength() const;
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Class header -->
|
||||
<tr>
|
||||
<td colspan="7"><center><strong>BMemoryIO Class</strong></center></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BMemoryIO(void *p, size_t len);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BMemoryIO(const void *p, size_t len);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ~BMemoryIO();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ssize_t ReadAt(off_t pos, void *buffer, size_t size);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ssize_t WriteAt(off_t pos, const void *buffer, size_t size);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual off_t Seek(off_t pos, uint32 seek_mode);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual off_t Position() const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual status_t SetSize(off_t size);
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Class header -->
|
||||
<tr>
|
||||
<td colspan="7"><center><strong>BPositionIO Class</strong></center></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BPositionIO();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ~BPositionIO();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ssize_t Read(void *buffer, size_t size);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ssize_t Write(const void *buffer, size_t size);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual status_t SetSize(off_t size);
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<br><br>
|
||||
|
||||
<!-- legend table -->
|
||||
<a name="legend">
|
||||
<table border>
|
||||
<tr>
|
||||
<td align="center"><strong>Legend</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td>Functional Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/User.gif" width="22" height="22" alt="Use Cases"></td>
|
||||
<td>Use Cases</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td>Unit Tests</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td>Technical Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation"></td>
|
||||
<td>Implementation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Check.gif" width="22" height="22" alt="Completed"></td>
|
||||
<td>Completed</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</a>
|
||||
<br>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,168 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Support Kit Milestones</title>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<h1>Support Kit Milestones<hr></h1>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
Interface specs completed for all classes, functions, structs
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="32" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="168" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="right">16%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
|
||||
</li>
|
||||
<li>
|
||||
Use cases completed for all classes, functions, structs
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="32" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="168" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">16%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
|
||||
</li>
|
||||
<li>
|
||||
Unit tests completed for all classes, functions, structs
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="32" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="168" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">16%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
|
||||
</li>
|
||||
<li>
|
||||
Design discussions completed for all classes, functions, structs
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="32" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="168" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">16%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
|
||||
</li>
|
||||
<li>
|
||||
<a href="IO.html">IO</a> complete
|
||||
|
||||
<li>
|
||||
<a href="Utilities.html">Utilities</a> complete
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="6" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="194" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="35" align="right">3%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
<li>
|
||||
<a href="Synchronization.html">Synchronization</a> complete
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="120" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="80" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="35" align="right">60%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
</li>
|
||||
|
||||
<li>
|
||||
Alpha
|
||||
</li>
|
||||
<li>
|
||||
Beta 1
|
||||
</li>
|
||||
<li>
|
||||
Beta 2
|
||||
</li>
|
||||
<li>
|
||||
Release Candidate 1
|
||||
</li>
|
||||
<li>
|
||||
1.0!
|
||||
</li>
|
||||
</ol>
|
||||
<!-- Not implemented yet
|
||||
See the complete list of <a href="SupportKitTasks.html">Support Kit tasks</a>.
|
||||
|
||||
<br>
|
||||
-->
|
||||
<hr>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,688 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Synchronization Tasks</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Synchronization Tasks<hr></h1>
|
||||
|
||||
|
||||
<!-- summary table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th><strong>Task Summary</strong></th>
|
||||
<th><strong>Owner</strong></th>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td width="100%">
|
||||
BAutoLock
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td width="25%">
|
||||
Jeremy Rand
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td width="100%">
|
||||
BLocker
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td width="25%">
|
||||
Jeremy Rand
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- detail table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th width="100%"><strong>Task Details</strong></th>
|
||||
<!-- <th><strong>Owner</strong></th> -->
|
||||
|
||||
<!-- Class header -->
|
||||
<tr>
|
||||
<td colspan="7"><center><strong>BAutoLock Class</strong></center></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BAutolock(BLocker *lock);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BAutolock(BLocker &lock);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BAutolock(BLooper *looper);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
~BAutolock();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/blank-20.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
bool IsLocked();
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Class header -->
|
||||
<tr>
|
||||
<td colspan="7"><center><strong>BLocker Class</strong></center></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BLocker();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BLocker(const char *name);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BLocker(bool benaphore_style);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BLocker(const char *name, bool benaphore_style);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
BLocker(const char *name, bool benaphore_style, bool);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
virtual ~BLocker();
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
bool Lock(void);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
status_t LockWithTimeout(bigtime_t timeout);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
void Unlock(void);
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
thread_id LockingThread(void) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
bool IsLocked(void) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
int32 CountLocks(void) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
int32 CountLockRequests(void) const;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
../../images/Check.gif
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
sem_id Sem(void) const;
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<br><br>
|
||||
|
||||
<!-- legend table -->
|
||||
<a name="legend">
|
||||
<table border>
|
||||
<tr>
|
||||
<td align="center"><strong>Legend</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td>Functional Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/User.gif" width="22" height="22" alt="Use Cases"></td>
|
||||
<td>Use Cases</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td>Unit Tests</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td>Technical Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation"></td>
|
||||
<td>Implementation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Check.gif" width="22" height="22" alt="Completed"></td>
|
||||
<td>Completed</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</a>
|
||||
<br>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,83 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Interface Kit Team Assignments</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
Interface Kit Team Assignments and Open Tasks
|
||||
<hr>
|
||||
</h1>
|
||||
|
||||
<h2>
|
||||
Assignments:
|
||||
</h2>
|
||||
|
||||
<table>
|
||||
<scripting>
|
||||
@for_each engineer in $Assignments.engineers
|
||||
<tr>
|
||||
<td>
|
||||
$engineer.name
|
||||
</td>
|
||||
</tr>
|
||||
@for_each etask in $engineer.tasks
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
$etask.str
|
||||
</td>
|
||||
</tr>
|
||||
@end
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
@end
|
||||
</scripting>
|
||||
</table>
|
||||
|
||||
|
||||
<h2>
|
||||
Open Tasks:
|
||||
</h2>
|
||||
|
||||
<table>
|
||||
<scripting>
|
||||
@for_each section in $Assignments.sections
|
||||
<tr>
|
||||
<td>
|
||||
$section.name
|
||||
</td>
|
||||
</tr>
|
||||
@for_each stask in $section.tasks
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
$stask.str
|
||||
</td>
|
||||
</tr>
|
||||
@end
|
||||
<tr>
|
||||
<td height="15" colspan="2"></td>
|
||||
</tr>
|
||||
@end
|
||||
</scripting>
|
||||
</table>
|
||||
<br>
|
||||
<hr>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,167 @@
|
||||
<html>
|
||||
<head>
|
||||
<scripting>
|
||||
<title>$GROUP.name Milestones</title>
|
||||
</scripting>
|
||||
</head>
|
||||
<body>
|
||||
<scripting>
|
||||
<h1>$GROUP.name Milestones<hr></h1>
|
||||
</scripting>
|
||||
<ol>
|
||||
<li>
|
||||
Interface specs completed for all classes, functions, structs
|
||||
<scripting>
|
||||
@if $GROUP.ispec_complete
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="$GROUP.ispec_table_complete" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="$GROUP.ispec_table_incomplete" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="right">$GROUP.ispec_complete%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
@end
|
||||
</scripting>
|
||||
</li>
|
||||
<li>
|
||||
Use cases completed for all classes, functions, structs
|
||||
<scripting>
|
||||
@if $GROUP.cases_complete
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="$GROUP.cases_table_complete" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="$GROUP.cases_table_incomplete" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">$GROUP.cases_complete%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
@end
|
||||
</scripting>
|
||||
</li>
|
||||
<li>
|
||||
Unit tests completed for all classes, functions, structs
|
||||
<scripting>
|
||||
@if $GROUP.tests_complete
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="$GROUP.tests_table_complete" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="$GROUP.tests_table_incomplete" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">$GROUP.tests_complete%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
@end
|
||||
</scripting>
|
||||
</li>
|
||||
<li>
|
||||
Design discussions completed for all classes, functions, structs
|
||||
<scripting>
|
||||
@if $GROUP.tspec_complete
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="$GROUP.tspec_table_complete" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="$GROUP.tspec_table_incomplete" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">$GROUP.tspec_complete%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
@end
|
||||
</scripting>
|
||||
</li>
|
||||
<scripting>
|
||||
@for_each milestone in $GROUP.milestones
|
||||
<li>
|
||||
<a href="$milestone.short_name##.html">$milestone.name</a>$milestone.note complete
|
||||
@if $milestone.complete
|
||||
<!-- Copy this table to each item when work begins on it -->
|
||||
<!-- progress graph -->
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- spacer -->
|
||||
<td width=10"></td>
|
||||
<!-- how much is done -->
|
||||
<td width="$milestone.table_complete" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="$milestone.table_incomplete" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="35" align="right">$milestone.complete%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br><br>
|
||||
<!-- end progress graph -->
|
||||
@end
|
||||
@end
|
||||
</li>
|
||||
</scripting>
|
||||
<li>
|
||||
Alpha
|
||||
</li>
|
||||
<li>
|
||||
Beta 1
|
||||
</li>
|
||||
<li>
|
||||
Beta 2
|
||||
</li>
|
||||
<li>
|
||||
Release Candidate 1
|
||||
</li>
|
||||
<li>
|
||||
1.0!
|
||||
</li>
|
||||
</ol>
|
||||
<!-- Not implemented yet
|
||||
<scripting>
|
||||
See the complete list of <a href="$GROUP.short_name##Tasks.html">$GROUP.name tasks</a>.
|
||||
</scripting>
|
||||
<br>
|
||||
-->
|
||||
<hr>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Interface Kit Team Schedule</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Interface Kit Team Schedule<hr></h1>
|
||||
<p>
|
||||
Here is the schedule for the Interface Kit Team. To help organize our work,
|
||||
tasks have been broken into 4 general areas:
|
||||
<ul>
|
||||
<scripting>
|
||||
@for_each group in $GROUPS
|
||||
<li><a href="$group.short_name/$group.short_name##Milestones.html">$group.name</a>$group.note</li>
|
||||
@end
|
||||
</scripting>
|
||||
</ul>
|
||||
</p><p>
|
||||
Organizationally, it's best to consider these as separate projects within the
|
||||
scope of the IK Team's charter. As such, core contributors should pick a
|
||||
project and stick with it -- it will make things a lot easier to keep track of,
|
||||
and losing track of stuff would be a bad thing. =)
|
||||
</p><p>
|
||||
DarkWyrm is the technical lead for the app_server; he has done an enormous amount
|
||||
of research and he is currently in the best position to lead the effort.
|
||||
</p><p>
|
||||
Erik Jakowatz will continue in his capacity as overall project lead, as well as
|
||||
being directly involved in Integration as technical lead.
|
||||
</p><p>
|
||||
A word of warning: this schedule is downright huge because of the sheer number of
|
||||
items to be completed. There is a paper available in which the rationale behind the
|
||||
schedule is <a href="Discussion.html">discussed</a>.
|
||||
</p>
|
||||
<hr>
|
||||
<h2><a name="CurrentStatus"></a>Current Status</h2>
|
||||
Here are some fuzzy indicators of what progress the team has made base on the number of
|
||||
outstanding tasks completed. No warranty is made concerning the accuracy of these
|
||||
graphs. =)
|
||||
<br><br>
|
||||
|
||||
<!-- And here we go into table madness! -->
|
||||
<table cellspacing="0">
|
||||
<!-- sub-project header -->
|
||||
<tr>
|
||||
<td colspan="3" align="left"><strong>Overall</strong></td>
|
||||
</tr>
|
||||
<!-- progress graph -->
|
||||
<tr>
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- how much is done -->
|
||||
<scripting>
|
||||
<td width="$GROUPS.table_complete" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="$GROUPS.table_incomplete" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">$GROUPS.complete%</td>
|
||||
</scripting>
|
||||
</tr>
|
||||
</table>
|
||||
</tr>
|
||||
|
||||
<scripting>
|
||||
@for_each group in $GROUPS
|
||||
<!-- sub-project header -->
|
||||
<tr>
|
||||
<td colspan="3" align="left"><strong><br><br>$group.name</strong></td>
|
||||
</tr>
|
||||
<!-- progress graph -->
|
||||
<tr>
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<!-- how much is done -->
|
||||
<td width="$group.table_complete" bgcolor="blue" align="left"></td>
|
||||
<!-- how much is left -->
|
||||
<td width="$group.table_incomplete" bgcolor="red" align="right"></td>
|
||||
<!-- the above two translated into a percentage -->
|
||||
<td width="25" align="center">$group.complete%</td>
|
||||
</tr>
|
||||
</table>
|
||||
</tr>
|
||||
@end
|
||||
</scripting>
|
||||
</table>
|
||||
<br>
|
||||
<hr>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,29 @@
|
||||
<html>
|
||||
<head>
|
||||
<scripting>
|
||||
<title>$GROUP.name Tasks</title>
|
||||
</scripting>
|
||||
<head>
|
||||
<body>
|
||||
<scripting>
|
||||
<h1>$GROUP.name Tasks<hr></h1>
|
||||
@for_each milestone in $GROUP.milestones
|
||||
<a href="$milestone.short_name##Tasks.html">$milestone.name</a><br>
|
||||
@end
|
||||
</scripting>
|
||||
<hr>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,254 @@
|
||||
<html>
|
||||
<head>
|
||||
<scripting>
|
||||
<title>$MILESTONE.name Tasks</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>$MILESTONE.name Tasks<hr></h1>
|
||||
</scripting>
|
||||
|
||||
<!-- summary table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th><strong>Task Summary</strong></th>
|
||||
<th><strong>Owner</strong></th>
|
||||
<scripting>
|
||||
@for_each s in $MILESTONE
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
@if $s.is_ispec_complete
|
||||
../../images/Check.gif
|
||||
@else
|
||||
../../images/blank-20.gif
|
||||
@end
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
@if $s.is_cases_complete
|
||||
../../images/Check.gif
|
||||
@else
|
||||
../../images/blank-20.gif
|
||||
@end
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
@if $s.is_tests_complete
|
||||
../../images/Check.gif
|
||||
@else
|
||||
../../images/blank-20.gif
|
||||
@end
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
@if $s.is_tspec_complete
|
||||
../../images/Check.gif
|
||||
@else
|
||||
../../images/blank-20.gif
|
||||
@end
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
@if $s.is_impl_complete
|
||||
../../images/Check.gif
|
||||
@else
|
||||
../../images/blank-20.gif
|
||||
@end
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td width="100%">
|
||||
$s.name
|
||||
</td>
|
||||
<!-- owner -->
|
||||
<td width="25%">
|
||||
$s.owner
|
||||
</td>
|
||||
</tr>
|
||||
@end
|
||||
</scripting>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- detail table -->
|
||||
<table border>
|
||||
<!-- table column headers -->
|
||||
<th>
|
||||
<table>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#legend">
|
||||
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
|
||||
</a>
|
||||
</td>
|
||||
</table>
|
||||
</th>
|
||||
<th width="100%"><strong>Task Details</strong></th>
|
||||
<!-- <th><strong>Owner</strong></th> -->
|
||||
|
||||
<scripting>
|
||||
@for_each s in $MILESTONE
|
||||
<!-- $s.type header -->
|
||||
<tr>
|
||||
<td colspan="7"><center><strong>$s.name $s.type</strong></center></td>
|
||||
</tr>
|
||||
@for_each t in $s.tasks
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<td><img src="
|
||||
@if $t.ispec
|
||||
../../images/Check.gif
|
||||
@else
|
||||
../../images/blank-20.gif
|
||||
@end
|
||||
" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td><img src="
|
||||
@if $t.cases
|
||||
../../images/Check.gif
|
||||
@else
|
||||
../../images/blank-20.gif
|
||||
@end
|
||||
" width="22" height="22" alt="Use Cases"></td>
|
||||
<td><img src="
|
||||
@if $t.tests
|
||||
../../images/Check.gif
|
||||
@else
|
||||
../../images/blank-20.gif
|
||||
@end
|
||||
" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td><img src="
|
||||
@if $t.tspec
|
||||
../../images/Check.gif
|
||||
@else
|
||||
../../images/blank-20.gif
|
||||
@end
|
||||
" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td><img src="
|
||||
@if $t.impl
|
||||
../../images/Check.gif
|
||||
@else
|
||||
../../images/blank-20.gif
|
||||
@end
|
||||
" width="22" height="22" alt="Implementation"></td>
|
||||
</table>
|
||||
</td>
|
||||
<!-- task -->
|
||||
<td>
|
||||
$t.name
|
||||
</td>
|
||||
</tr>
|
||||
@end
|
||||
@end
|
||||
</scripting>
|
||||
</table>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<br><br>
|
||||
|
||||
<!-- legend table -->
|
||||
<a name="legend">
|
||||
<table border>
|
||||
<tr>
|
||||
<td align="center"><strong>Legend</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec"></td>
|
||||
<td>Functional Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/User.gif" width="22" height="22" alt="Use Cases"></td>
|
||||
<td>Use Cases</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests"></td>
|
||||
<td>Unit Tests</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec"></td>
|
||||
<td>Technical Spec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation"></td>
|
||||
<td>Implementation</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../../images/Check.gif" width="22" height="22" alt="Completed"></td>
|
||||
<td>Completed</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</a>
|
||||
<br>
|
||||
|
||||
<!-- The obligatory SourceForge plug -->
|
||||
<center>
|
||||
<small>The OpenBeOS project is hosted by:</small><br><br>
|
||||
<a href="http://sourceforge.net">
|
||||
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
|
||||
</a>
|
||||
<p>
|
||||
|
||||
<small>Copyright © 2001-2002
|
||||
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
</html>
|
||||