summaryrefslogtreecommitdiffstats
path: root/tags/cpp-sdo-1.0.incubating-M3/runtime/core/test/SdoGenerate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tags/cpp-sdo-1.0.incubating-M3/runtime/core/test/SdoGenerate.cpp')
-rw-r--r--tags/cpp-sdo-1.0.incubating-M3/runtime/core/test/SdoGenerate.cpp169
1 files changed, 0 insertions, 169 deletions
diff --git a/tags/cpp-sdo-1.0.incubating-M3/runtime/core/test/SdoGenerate.cpp b/tags/cpp-sdo-1.0.incubating-M3/runtime/core/test/SdoGenerate.cpp
deleted file mode 100644
index 7edb3e22f2..0000000000
--- a/tags/cpp-sdo-1.0.incubating-M3/runtime/core/test/SdoGenerate.cpp
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/* $Rev$ $Date$ */
-
-/* work in progress on generation of structures from sdos*/
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#pragma warning(disable:4786)
-
-#include <iostream>
-using namespace std;
-
-
-
-#include "sdotest.h"
-
-
-
-using namespace commonj::sdo;
-
-
-char* sdotest::convert(const char* uri)
-{
- char* newval = (char*)malloc(strlen(uri) + 1);
- strcpy(newval,uri);
-
- char* c;
- while ((c = strchr(newval,'.')) != 0)
- {
- char * tmp = (char*)malloc(strlen(newval) + 5);
- strncpy(tmp,newval, c - newval);
- tmp[c-newval] = 0;
- strcat(tmp,"<dot>");
- strcat(tmp,c+1);
- free(newval);
- newval = tmp;
- }
- return newval;
-}
-
-
-void sdotest::generate(DataFactoryPtr fac)
-{
- try {
-
- TypeList tl = fac->getTypes();
-
-
- cout << "// Generated structures " << endl;
-
- for (unsigned int i=0;i<tl.size();i++)
- {
-
- if (!strcmp(tl[i].getURI(),"commonj.sdo")) continue;
-
- char *uri = convert(tl[i].getURI());
-
- cout << "typedef struct _";
- if (uri) cout << uri << "_";
- cout << tl[i].getName();
-
- cout << "{" << endl;
-
-
- PropertyList pl = tl[i].getProperties();
- for (unsigned int j=0;j<pl.size();j++)
- {
- if (pl[j].isMany())
- {
- cout << "struct _";
- char *v = convert(pl[j].getType().getURI());
- if (v) cout << v << "_";
- cout << pl[j].getType().getName();
- cout << "List *" << pl[j].getName() << ";" << endl;
- if (v) free(v);
- }
- else
- {
- if (pl[j].getType().isDataType())
- {
- switch (pl[j].getTypeEnum())
- {
- case Type::BooleanType:
-
- cout << "bool " << pl[j].getName() << ";" << endl;
- break;
- case Type::ByteType:
- cout << "char " << pl[j].getName() << ";" << endl;
- break;
- case Type::BytesType:
- cout << "char* " << pl[j].getName() << ";" << endl;
- break;
- case Type::CharacterType:
- cout << "wchar " << pl[j].getName() << ";" << endl;
- break;
- case Type::DateType:
- cout << "time_t " << pl[j].getName() << ";" << endl;
- break;
- case Type::DoubleType:
- cout << "long double " << pl[j].getName() << ";" << endl;
- break;
- case Type::FloatType:
- cout << "float " << pl[j].getName() << ";" << endl;
- break;
- case Type::IntegerType:
- cout << "long " << pl[j].getName() << ";" << endl;
- break;
- case Type::LongType:
- cout << "int64_t " << pl[j].getName() << ";" << endl;
- break;
- case Type::ShortType:
- cout << "short " << pl[j].getName() << ";" << endl;
- break;
- case Type::StringType:
- case Type::UriType:
- cout << "wchar_t* " << pl[j].getName() << ";" << endl;
- break;
- default:
- cout << "// unknown primitive: " << pl[j].getName() << endl;
- break;
- }
- }
- else
- {
- cout << "struct _";
- char *v = convert(pl[j].getType().getURI());
- if (v) cout << v << "_";
- cout << pl[j].getType().getName();
- cout << " *" << pl[j].getName() << ";" << endl;
- if (v) free(v);
- }
- }
- }
-
- cout << "} ";
- if (uri) cout << uri << "_";
- cout << tl[i].getName() << ";" << endl;
- if (uri) free(uri);
-
- }
-
- cout << "// generated Accessors" << endl;
- }
- catch (SDORuntimeException e)
- {
- cout << "Exception in Generation" << endl;
- cout << e << endl;
- }
-}
-