summaryrefslogtreecommitdiff
path: root/plugins/!NotAdopted/Xfire/xfiretest/variablevalue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/!NotAdopted/Xfire/xfiretest/variablevalue.cpp')
-rw-r--r--plugins/!NotAdopted/Xfire/xfiretest/variablevalue.cpp204
1 files changed, 0 insertions, 204 deletions
diff --git a/plugins/!NotAdopted/Xfire/xfiretest/variablevalue.cpp b/plugins/!NotAdopted/Xfire/xfiretest/variablevalue.cpp
deleted file mode 100644
index 584f64412c..0000000000
--- a/plugins/!NotAdopted/Xfire/xfiretest/variablevalue.cpp
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * xfirelib - C++ Library for the xfire protocol.
- * Copyright (C) 2006 by
- * Beat Wolf <asraniel@fryx.ch> / http://gfire.sf.net
- * Herbert Poul <herbert.poul@gmail.com> / http://goim.us
- * http://xfirelib.sphene.net
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "stdafx.h"
-
-#include <string>
-#include "variablevalue.h"
-#include "xdebug.h"
-
-#include "math.h" // for pow(..)
-
-namespace xfirelib {
-
-using namespace std;
-
- VariableValue::VariableValue() {
- value = 0;
- }
- VariableValue::~VariableValue() {
- if(value)
- delete[] value;
- }
-
- void VariableValue::setName(std::string name){
- this->name = name;
- }
-
- void VariableValue::setValueLength(int valueLength){
- this->valueLength = valueLength;
- }
-
- void VariableValue::setValue( char * value) {
- if(this->value) delete[] value;
- this->value = value;
- }
- void VariableValue::setValue( std::string value ) {
- const char *val = value.c_str();
- setValue( val, value.length() );
- }
- void VariableValue::setValue( const char *value, int valueLength ) {
- this->value = new char[valueLength];
- memcpy( this->value, value, valueLength );
- this->valueLength = valueLength;
- }
- void VariableValue::setValueFromLong( long value, int bytes ) {
- this->valueLength = bytes;
- this->value = new char[bytes];
- for(int i = 0 ; i < bytes ; i++) {
- this->value[i] = value % 256;
- value = value / 256;
- }
- }
-
- std::string VariableValue::getName(){
- return name;
- }
-
- int VariableValue::getValueLength(){
- return valueLength;
- }
-
- char* VariableValue::getValue(){
- return value;
- }
-
- long VariableValue::getValueAsLong() {
- long intVal = 0;
- for(int i = 0 ; i < valueLength ; i++) {
- intVal += ((unsigned char)value[i]) * myPow(256,i);
- }
- return intVal;
- }
-
- long VariableValue::myPow(int x, int y) {
- long r = 1;
- for(int i = 0 ; i < y ; i++) r *= x;
- return r;
- }
-
- int VariableValue::readName(char *packet, int index) {
- int read = 0;
- int nameLength = packet[index];
- read++;
- char* namestr=new char[nameLength+1];
- namestr[nameLength]=0;
- memcpy(namestr,packet+index+read,nameLength);
- name = string(namestr);
- read+=nameLength;
- return read;
- }
-
- int VariableValue::readValue(char *packet, int index, int length,int ignoreZeroAfterLength) {
- int read = 0;
- valueLength = length;
- if(valueLength < 0) {
- valueLength = (unsigned char)packet[index+read];read++;
- if(ignoreZeroAfterLength) read++;
- }
-
- if(value) delete[] value;
- value = new char[valueLength];
- memcpy(value,packet+index+read,valueLength);
- read+=valueLength;
-
- return read;
- }
-
-/*TODO: this cant work, attLength is always 0, needs to be fixed*/
-/* int VariableValue::readFixValue(char *packet, int index, int packetLength, int valueLength) {
- VariableValue *value = this;
- int nameLength = packet[index];
-
- int i = 1;
- int attLengthLength = 0;
- int attLength = 0;
- string name;
-
- for(; i <= nameLength;i++){
- name += packet[index+i];
- }
- value->setName(name);
- index += i;
- index++; //ignore next value
-
- value->setValueLength(valueLength);
-
- char *att = new char[attLength];
- index += i+1;
- for(i = 0; i < attLength;i++){
- att[i] = packet[index+i];
- }
- index += i;
- value->setValue(att);
- return index;
- }*/
-
-
- int VariableValue::readVariableValue(char *packet, int index, int packetLength){
- VariableValue *value = this;
- int nameLength = packet[index];
-
- int i = 1;
- int attLengthLength = 0;
- int attLength = 0;
- string name;
-
- for(; i <= nameLength;i++){
- name += packet[index+i];
- }
- value->setName(name);
-
- index += i;
- attLengthLength = packet[index];
- index++;
-
- for(i = 0; i < attLengthLength;i++){
- attLength += (unsigned char)packet[index+i];/*todo: make it work if length is longer than 1 byte*/
- }
- value->setValueLength(attLength);
-
- char *att = new char[attLength];
- index += i+1;
- for(i = 0; i < attLength;i++){
- att[i] = packet[index+i];
- }
- value->setValue(att);
- index += i;
- return index;
- }
-
-
-
-
- int VariableValue::writeName(char *buf, int index) {
- int len = name.length();
- buf[index] = len;
- memcpy(buf+index+1,name.c_str(),len);
- return len+1;
- }
- int VariableValue::writeValue(char *buf, int index) {
- memcpy(buf+index,value,valueLength);
- return valueLength;
- }
-
-};