forked from SAP-archive/fedem-mdb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
FmGenericDBObject.C
79 lines (57 loc) · 1.65 KB
/
FmGenericDBObject.C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
// SPDX-FileCopyrightText: 2023 SAP SE
//
// SPDX-License-Identifier: Apache-2.0
//
// This file is part of FEDEM - https://openfedem.org
////////////////////////////////////////////////////////////////////////////////
#include <cstdio>
#include "FFaLib/FFaString/FFaParse.H"
#include "vpmDB/FmGenericDBObject.H"
Fmd_DB_SOURCE_INIT(FcGENERIC_DB_OBJECT, FmGenericDBObject, FmSimulationModelBase);
FmGenericDBObject::FmGenericDBObject()
{
Fmd_CONSTRUCTOR_INIT(FmGenericDBObject);
FFA_FIELD_DEFAULT_INIT(objectType,"OBJECT_TYPE");
FFA_FIELD_DEFAULT_INIT(objectDefinition,"OBJECT_DEFINITION");
}
FmGenericDBObject::~FmGenericDBObject()
{
this->disconnect();
}
std::ostream& FmGenericDBObject::writeFMF(std::ostream& os)
{
os <<"GENERIC_DB_OBJECT\n{\n";
this->writeFields(os);
os <<"}\n\n";
return os;
}
bool FmGenericDBObject::clone(FmBase* obj, int depth)
{
return cloneInherited(obj, depth);
}
bool FmGenericDBObject::cloneLocal(FmBase* obj, int)
{
return obj->isOfType(FmGenericDBObject::getClassTypeID());
}
bool FmGenericDBObject::readAndConnect(std::istream& is, std::ostream&)
{
FmGenericDBObject* obj = new FmGenericDBObject();
while (is.good())
{
std::stringstream activeStatement;
char keyWord[BUFSIZ];
if (FaParse::parseFMFASCII(keyWord, is, activeStatement, '=', ';'))
parentParse(keyWord, activeStatement, obj);
}
obj->connect();
return true;
}
int FmGenericDBObject::printSolverEntry(FILE* fp)
{
fprintf(fp, "'Generic DB-object\n");
fprintf(fp, "&%s\n", objectType.getValue().c_str());
this->printID(fp);
fprintf(fp, "%s\n", objectDefinition.getValue().c_str());
fprintf(fp, "/\n\n");
return 0;
}