Changeset 7197 in orxonox.OLD for trunk/src/lib/util/executor/executor.cc
- Timestamp:
- Mar 8, 2006, 2:02:58 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lib/util/executor/executor.cc
r6645 r7197 31 31 // SHELL COMMAND BASE // 32 32 //////////////////////// 33 // empty constructor34 Executor::Executor()35 {36 this->defaultValue = NULL;37 }38 39 33 /** 40 34 * constructs and registers a new Command … … 43 37 * @param paramCount the count of parameters this command takes 44 38 */ 45 Executor::Executor(unsigned int paramCount, ...) 39 Executor::Executor(const MultiType& param0, 40 const MultiType& param1, 41 const MultiType& param2, 42 const MultiType& param3, 43 const MultiType& param4) 46 44 { 47 45 this->setClassID(CL_EXECUTOR, "Executor"); 48 46 49 if (paramCount > FUNCTOR_MAX_ARGUMENTS)50 paramCount = FUNCTOR_MAX_ARGUMENTS;51 // reading in Parameters.52 this->paramCount = paramCount;53 this->defaultValue = new MultiType[paramCount];54 47 55 va_list parameterList; 56 va_start(parameterList, paramCount); 48 // What Parameters have we got 49 this->defaultValue[0] = param0; 50 this->defaultValue[1] = param1; 51 this->defaultValue[2] = param2; 52 this->defaultValue[3] = param3; 53 this->defaultValue[4] = param4; 57 54 58 // What Parameters we have got 59 for (unsigned int i = 0; i < paramCount; i++) 55 for (unsigned int i = 0; i < FUNCTOR_MAX_ARGUMENTS; i++) 60 56 { 61 int type = va_arg(parameterList, int); 62 this->defaultValue[i].setType((MT_Type)type); 57 printf("%d ", i); 58 if (this->defaultValue[i] == MT_NULL) 59 { 60 this->paramCount = i; 61 break; 62 } 63 63 64 } 65 printf("%d\n", this->paramCount); 66 67 assert (paramCount <= FUNCTOR_MAX_ARGUMENTS); 64 68 } 65 69 … … 68 72 */ 69 73 Executor::~Executor() 70 { 71 delete[] this->defaultValue; 72 } 74 {} 73 75 74 76 /** … … 79 81 executor->functorType = this->functorType; 80 82 executor->paramCount = this->paramCount; 81 executor->defaultValue = new MultiType[this->paramCount];82 83 for (unsigned int i = 0; i < this->paramCount; i++) 83 {84 84 executor->defaultValue[i] = this->defaultValue[i]; 85 // printf("1: %s 2: %s\n", MultiType::MultiTypeToString(this->defaultValue[i].getType()), MultiType::MultiTypeToString(executor->defaultValue[i].getType()));86 }87 85 } 88 86 … … 132 130 this->defaultValue[i].setInt(va_arg(values, int)); 133 131 break; 134 /* case MT_UINT:135 this->defaultValue[i].setInt((int)va_arg(values, unsigned int));136 break;*/132 /* case MT_UINT: 133 this->defaultValue[i].setInt((int)va_arg(values, unsigned int)); 134 break;*/ 137 135 case MT_FLOAT: 138 136 this->defaultValue[i].setFloat(va_arg(values, double)); 139 137 break; 140 /* case MT_LONG:141 this->defaultValue[i].setInt((int) va_arg(values, long));142 break;*/138 /* case MT_LONG: 139 this->defaultValue[i].setInt((int) va_arg(values, long)); 140 break;*/ 143 141 default: 144 142 break; … … 153 151 void Executor::debug() 154 152 { 155 /* tIterator<ExecutorClass>* iteratorCL = ExecutorClass::commandClassList->getIterator(); 156 ExecutorClass* elemCL = iteratorCL->firstElement(); 157 while(elemCL != NULL) 158 { 159 PRINT(0)("Class:'%s' registered %d commands: \n", elemCL->className, elemCL->commandList->getSize()); 160 tIterator<Executor>* iterator = elemCL->commandList->getIterator(); 161 const Executor* elem = iterator->firstElement(); 162 while(elem != NULL) 153 /* tIterator<ExecutorClass>* iteratorCL = ExecutorClass::commandClassList->getIterator(); 154 ExecutorClass* elemCL = iteratorCL->firstElement(); 155 while(elemCL != NULL) 163 156 { 164 PRINT(0)(" command:'%s' : params:%d: ", elem->getName(), elem->paramCount); 165 for (unsigned int i = 0; i< elem->paramCount; i++) 166 printf("%s ", Executor::paramToString(elem->parameters[i])); 167 if (elem->description != NULL) 168 printf("- %s", elem->description); 169 printf("\n"); 157 PRINT(0)("Class:'%s' registered %d commands: \n", elemCL->className, elemCL->commandList->getSize()); 158 tIterator<Executor>* iterator = elemCL->commandList->getIterator(); 159 const Executor* elem = iterator->firstElement(); 160 while(elem != NULL) 161 { 162 PRINT(0)(" command:'%s' : params:%d: ", elem->getName(), elem->paramCount); 163 for (unsigned int i = 0; i< elem->paramCount; i++) 164 printf("%s ", Executor::paramToString(elem->parameters[i])); 165 if (elem->description != NULL) 166 printf("- %s", elem->description); 167 printf("\n"); 170 168 171 elem = iterator->nextElement(); 169 elem = iterator->nextElement(); 170 } 171 delete iterator; 172 elemCL = iteratorCL->nextElement(); 172 173 } 173 delete iterator; 174 elemCL = iteratorCL->nextElement(); 175 } 176 delete iteratorCL;*/ 174 delete iteratorCL;*/ 177 175 }
Note: See TracChangeset
for help on using the changeset viewer.