Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Person Class Reference

#include <test_bam.h>

Inheritance diagram for Person:

TypedWritableReferenceCount TypedWritable ReferenceCount TypedObject Child Parent List of all members.

Public Types

enum  sex { MALE, FEMALE }

Public Member Functions

void write_datagram (BamWriter *, Datagram &)
virtual int complete_pointers (TypedWritable **p_list, BamReader *manager)
void setBrother (Person *bro)
void setSister (Person *sis)
bool isMale (void)
void print_relationships (void)
string name (void)
 Person (void)
 Person (const string &name, const sex Gender)
virtual ~Person ()
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type (void)

Static Public Member Functions

TypedWritablemake_person (const FactoryParams &params)
TypeHandle get_class_type ()
void init_type ()

Protected Member Functions

void fillin (Person *, DatagramIterator &, BamReader *)

Private Attributes

Person * _bro
Person * _sis
sex myGender
string _name

Static Private Attributes

TypeHandle _type_handle

Member Enumeration Documentation

enum Person::sex
 

Enumeration values:
MALE 
FEMALE 

Definition at line 46 of file test_bam.h.


Constructor & Destructor Documentation

Person::Person void   )  [inline]
 

Definition at line 63 of file test_bam.h.

Person::Person const string &  name,
const sex  Gender
[inline]
 

Definition at line 64 of file test_bam.h.

References NULL.

virtual Person::~Person  )  [inline, virtual]
 

Definition at line 68 of file test_bam.h.


Member Function Documentation

int Person::complete_pointers TypedWritable **  p_list,
BamReader manager
[virtual]
 

Reimplemented from TypedWritable.

Reimplemented in Child.

Definition at line 85 of file test_bam.cxx.

References _bro, _sis, DCAST, NULL, and TypedWritable::Null.

Referenced by Child::complete_pointers(), and Parent::complete_pointers().

void Person::fillin Person *  ,
DatagramIterator ,
BamReader
[protected]
 

Definition at line 76 of file test_bam.cxx.

References _name, DatagramIterator::get_string(), DatagramIterator::get_uint8(), myGender, and BamReader::read_pointer().

Referenced by Child::fillin(), Parent::fillin(), and make_person().

virtual TypeHandle Person::force_init_type void   )  [inline, virtual]
 

Reimplemented from TypedWritableReferenceCount.

Reimplemented in Parent, and Child.

Definition at line 82 of file test_bam.h.

References get_class_type(), and init_type().

TypeHandle Person::get_class_type void   )  [inline, static]
 

Reimplemented from ReferenceCount.

Reimplemented in Parent, and Child.

Definition at line 71 of file test_bam.h.

References _type_handle.

Referenced by ConfigureFn(), force_init_type(), get_type(), Child::init_type(), and Parent::init_type().

virtual TypeHandle Person::get_type void   )  const [inline, virtual]
 

Reimplemented from TypedWritableReferenceCount.

Reimplemented in Parent, and Child.

Definition at line 79 of file test_bam.h.

References get_class_type().

void Person::init_type void   )  [inline, static]
 

Reimplemented from TypedWritableReferenceCount.

Reimplemented in Parent, and Child.

Definition at line 74 of file test_bam.h.

References _type_handle, ReferenceCount::get_class_type(), TypedWritableReferenceCount::init_type(), and register_type().

Referenced by ConfigureFn(), force_init_type(), Child::init_type(), and Parent::init_type().

bool Person::isMale void   )  [inline]
 

Definition at line 53 of file test_bam.h.

References MALE, and myGender.

Referenced by setBrother(), Parent::setDaughter(), Child::setFather(), Child::setMother(), setSister(), and Parent::setSon().

TypedWritable * Person::make_person const FactoryParams params  )  [static]
 

Definition at line 64 of file test_bam.cxx.

References fillin(), params, and parse_params().

Referenced by ConfigureFn().

string Person::name void   )  [inline]
 

Definition at line 56 of file test_bam.h.

References _name.

Referenced by Child::print_relationships(), Parent::print_relationships(), and print_relationships().

void Person::print_relationships void   ) 
 

Reimplemented in Parent, and Child.

Definition at line 93 of file test_bam.cxx.

References _bro, _name, _sis, name(), and NULL.

Referenced by Child::print_relationships(), and Parent::print_relationships().

void Person::setBrother Person *  bro  )  [inline]
 

Definition at line 51 of file test_bam.h.

References _bro, and isMale().

void Person::setSister Person *  sis  )  [inline]
 

Definition at line 52 of file test_bam.h.

References _sis, and isMale().

void Person::write_datagram BamWriter ,
Datagram
[virtual]
 

Implements TypedWritableReferenceCount.

Reimplemented in Parent, and Child.

Definition at line 53 of file test_bam.cxx.

References _bro, _name, _sis, Datagram::add_string(), Datagram::add_uint8(), myGender, and BamWriter::write_pointer().

Referenced by Child::write_datagram(), and Parent::write_datagram().


Member Data Documentation

Person* Person::_bro [private]
 

Definition at line 58 of file test_bam.h.

Referenced by complete_pointers(), print_relationships(), setBrother(), and write_datagram().

string Person::_name [private]
 

Definition at line 60 of file test_bam.h.

Referenced by fillin(), name(), print_relationships(), and write_datagram().

Person * Person::_sis [private]
 

Definition at line 58 of file test_bam.h.

Referenced by complete_pointers(), print_relationships(), setSister(), and write_datagram().

TypeHandle Person::_type_handle [static, private]
 

Reimplemented from TypedWritableReferenceCount.

Reimplemented in Parent, and Child.

Definition at line 26 of file test_bam.cxx.

Referenced by get_class_type(), and init_type().

sex Person::myGender [private]
 

Definition at line 59 of file test_bam.h.

Referenced by fillin(), isMale(), and write_datagram().


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:13:04 2003 for Panda by doxygen1.3