00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 00029 00030 00031 00032 00033 00034 00035 00036 00037 00038 00039 00040 00041 #include "jaus/mobility/list/element.h" 00042 00043 using namespace JAUS; 00044 00045 00056 Element::Element(const UShort id, 00057 const UShort next, 00058 const UShort prev) : mID(id), 00059 mNextID(next), 00060 mPrevID(prev), 00061 mpElement(NULL) 00062 { 00063 } 00064 00065 00071 Element::Element(const Element& element) : mID(0), 00072 mNextID(0), 00073 mPrevID(0), 00074 mpElement(NULL) 00075 { 00076 *this = element; 00077 } 00078 00079 00085 Element::~Element() 00086 { 00087 if(mpElement) 00088 { 00089 delete mpElement; 00090 mpElement = NULL; 00091 } 00092 } 00093 00094 00100 void Element::Clear() 00101 { 00102 mID = 0; 00103 mNextID = 0; 00104 mPrevID = 0; 00105 if(mpElement) 00106 { 00107 delete mpElement; 00108 mpElement = NULL; 00109 } 00110 mPayload.Clear(); 00111 } 00112 00113 00119 Element& Element::operator=(const Element& element) 00120 { 00121 if(this != &element) 00122 { 00123 if(mpElement) 00124 { 00125 delete mpElement; 00126 mpElement = NULL; 00127 } 00128 if(element.mpElement) 00129 { 00130 mpElement = element.mpElement->Clone(); 00131 } 00132 mPayload = element.mPayload; 00133 mID = element.mID; 00134 mNextID = element.mNextID; 00135 mPrevID = element.mPrevID; 00136 } 00137 return *this; 00138 } 00139 00140 00141 /* End of File */