101 lines
1.2 KiB
C++
101 lines
1.2 KiB
C++
/*
|
|
* Copyright 2002, The Olmeki Team.
|
|
* Distributed under the terms of the Olmeki License.
|
|
*/
|
|
|
|
#include <string.h>
|
|
|
|
#include "JabberElement.h"
|
|
|
|
JabberElement::JabberElement()
|
|
: fName(""),
|
|
fData(""),
|
|
fAttr(NULL),
|
|
fAttrCount(-1)
|
|
{
|
|
}
|
|
|
|
|
|
JabberElement::~JabberElement()
|
|
{
|
|
Free();
|
|
}
|
|
|
|
|
|
void
|
|
JabberElement::SetName(const BString& name)
|
|
{
|
|
fName = name;
|
|
}
|
|
|
|
|
|
BString
|
|
JabberElement::GetName() const
|
|
{
|
|
return fName;
|
|
}
|
|
|
|
|
|
void
|
|
JabberElement::SetData(const BString& data)
|
|
{
|
|
fData = data;
|
|
}
|
|
|
|
|
|
BString
|
|
JabberElement::GetData() const
|
|
{
|
|
return fData;
|
|
}
|
|
|
|
|
|
void
|
|
JabberElement::SetAttr(const char** attr)
|
|
{
|
|
Free();
|
|
if (attr) {
|
|
const char** a = attr;
|
|
|
|
fAttrCount = 0;
|
|
|
|
while (*a) {
|
|
fAttrCount++;
|
|
a++;
|
|
}
|
|
|
|
fAttr = new char *[fAttrCount + 1];
|
|
for (int32 i = 0; i < fAttrCount; i++) {
|
|
fAttr[i] = new char[strlen(attr[i]) + 1];
|
|
strcpy(fAttr[i], attr[i]);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
const char**
|
|
JabberElement::GetAttr() const
|
|
{
|
|
return (const char **)fAttr;
|
|
}
|
|
|
|
|
|
int32
|
|
JabberElement::GetAttrCount() const
|
|
{
|
|
return fAttrCount;
|
|
}
|
|
|
|
|
|
void
|
|
JabberElement::Free()
|
|
{
|
|
if (fAttrCount != -1) {
|
|
for (int32 i = 0; i < fAttrCount; i++)
|
|
delete [] fAttr[i];
|
|
delete fAttr;
|
|
fAttr = NULL;
|
|
fAttrCount = -1;
|
|
}
|
|
}
|