summaryrefslogtreecommitdiffstats
path: root/tags/cpp-0.1.incubating-M1-RC3b/sdo/runtime/core/test/SdoGenerate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tags/cpp-0.1.incubating-M1-RC3b/sdo/runtime/core/test/SdoGenerate.cpp')
-rw-r--r--tags/cpp-0.1.incubating-M1-RC3b/sdo/runtime/core/test/SdoGenerate.cpp166
1 files changed, 0 insertions, 166 deletions
diff --git a/tags/cpp-0.1.incubating-M1-RC3b/sdo/runtime/core/test/SdoGenerate.cpp b/tags/cpp-0.1.incubating-M1-RC3b/sdo/runtime/core/test/SdoGenerate.cpp
deleted file mode 100644
index 375f72d3d8..0000000000
--- a/tags/cpp-0.1.incubating-M1-RC3b/sdo/runtime/core/test/SdoGenerate.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- *
- * Copyright 2006 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed 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.
- */
-
-/* $Id: SdoGenerate.cpp,v 1.2 2006/03/16 12:53:57 slattery Exp $ */
-
-/* work in progress on generation of structures from sdos*/
-
-#include <stdio.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 (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 (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;
- }
-}
-