00001
#if !defined(__PROTOTYPE_HPP)
00002
#define __PROTOTYPE_HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#if !defined(__COMMON_HPP)
00025
#include <Common.hpp>
00026
#endif
00027
00028
namespace corelinux
00029 {
00035
template<
class TypeImpl >
00036 class Prototype :
public CoreLinuxObject
00037 {
00038
public:
00039
00040
00041
00042
00043
00045
00046 Prototype(
void )
00047 :
00048
CoreLinuxObject()
00049 {
00050 ;
00051 }
00052
00058 Prototype(
const Prototype & aPrototype )
00059 :
00060
CoreLinuxObject( aPrototype )
00061 {
00062 ;
00063 }
00064
00066
00067 virtual ~Prototype(
void )
00068 {
00069 ;
00070 }
00071
00072
00073
00074
00075
00082 Prototype & operator=(
const Prototype & aPrototype )
00083 {
00084 CoreLinuxObject::operator=( aPrototype );
00085
return ( *this );
00086 }
00087
00094 bool operator==(
const Prototype & aPrototype )
const
00095
{
00096
return CoreLinuxObject::operator==( aPrototype );
00097 }
00098
00099
00100
00101
00102
00109
virtual TypeImpl *
clone(
void ) const = 0 ;
00110
00111
00112 };
00113 }
00114
00115 #endif
00116
00117
00118
00119
00120
00121
00122
00123
00124