Added core dll import/export scheme for MSVC.

* Added SCL_CORE_EXPORT flag.
* Added SCL_CORE_DLL_EXPORTS flag.
* Added SCL_EXPRESS_DLL_IMPORTS flag.
* Added SCL_DAI_DLL_IMPORTS flag.
* Added SCL_CORE_DLL_IMPORTS flag.
* Removed sdaiEnum/sdaiString/sdaiBinary (moved to cldai).
This commit is contained in:
davyw
2011-12-07 18:57:50 -05:00
committed by Mark Pictor
parent c409145b25
commit 0705c500a5
14 changed files with 185 additions and 161 deletions
+22 -13
View File
@@ -5,10 +5,7 @@ set(LIBSTEPCORE_SRCS
STEPattribute.cc
STEPattribute.inline.cc
sdai.cc
sdaiEnum.cc
sdaiString.cc
sdaiSelect.cc
sdaiBinary.cc
STEPaggregate.cc
STEPundefined.cc
STEPattributeList.cc
@@ -31,17 +28,29 @@ set(LIBSTEPCORE_SRCS
)
if(MINGW)
set(LIBDEPEND_SRCS
${SCL_SOURCE_DIR}/src/cldai/sdaiObject.cc
${SCL_SOURCE_DIR}/src/cldai/sdaiDaObject.cc
${SCL_SOURCE_DIR}/src/cleditor/instmgr.cc
${SCL_SOURCE_DIR}/src/cleditor/mgrnode.cc
${SCL_SOURCE_DIR}/src/cleditor/dispnode.cc
${SCL_SOURCE_DIR}/src/cleditor/mgrnodearray.cc
${SCL_SOURCE_DIR}/src/cleditor/needFunc.cc
)
set(LIBDEPEND_SRCS
${SCL_SOURCE_DIR}/src/cleditor/instmgr.cc
${SCL_SOURCE_DIR}/src/cleditor/mgrnode.cc
${SCL_SOURCE_DIR}/src/cleditor/dispnode.cc
${SCL_SOURCE_DIR}/src/cleditor/mgrnodearray.cc
${SCL_SOURCE_DIR}/src/cleditor/needFunc.cc
)
endif(MINGW)
if(MSVC)
set(LIBDEPEND_SRCS
${SCL_SOURCE_DIR}/src/cleditor/instmgr.cc
${SCL_SOURCE_DIR}/src/cleditor/mgrnode.cc
${SCL_SOURCE_DIR}/src/cleditor/dispnode.cc
${SCL_SOURCE_DIR}/src/cleditor/mgrnodearray.cc
${SCL_SOURCE_DIR}/src/cleditor/needFunc.cc
)
add_definitions( -DSCL_CORE_DLL_EXPORTS )
add_definitions( -DSCL_EXPRESS_DLL_IMPORTS )
add_definitions( -DSCL_UTILS_DLL_IMPORTS )
add_definitions( -DSCL_DAI_DLL_IMPORTS )
endif(MSVC)
SET(LIBSTEPCORE_PRIVATE_HDRS
baseType.h
complexSupport.h
@@ -71,7 +80,7 @@ include_directories(
${SCL_SOURCE_DIR}/src/clutils
)
SCL_ADDLIB(stepcore "${LIBSTEPCORE_SRCS} ${LIBDEPEND_SRCS}" "express steputils")
SCL_ADDLIB(stepcore "${LIBSTEPCORE_SRCS} ${LIBDEPEND_SRCS}" "express steputils stepdai")
if(APPLE)
set_target_properties(stepcore PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress")
endif(APPLE)
+62 -61
View File
@@ -12,6 +12,7 @@
* and is not subject to copyright.
*/
#include <scl_export.h>
#include <sdai.h>
typedef SDAI_Application_instance * (* Creator) () ;
@@ -31,19 +32,19 @@ enum AttrType_Enum {
#include <scl_char_str_list.h>
// defined and created in Registry.inline.cc
extern const TypeDescriptor * t_sdaiINTEGER;
extern const TypeDescriptor * t_sdaiREAL;
extern const TypeDescriptor * t_sdaiNUMBER;
extern const TypeDescriptor * t_sdaiSTRING;
extern const TypeDescriptor * t_sdaiBINARY;
extern const TypeDescriptor * t_sdaiBOOLEAN;
extern const TypeDescriptor * t_sdaiLOGICAL;
extern SCL_CORE_EXPORT const TypeDescriptor * t_sdaiINTEGER;
extern SCL_CORE_EXPORT const TypeDescriptor * t_sdaiREAL;
extern SCL_CORE_EXPORT const TypeDescriptor * t_sdaiNUMBER;
extern SCL_CORE_EXPORT const TypeDescriptor * t_sdaiSTRING;
extern SCL_CORE_EXPORT const TypeDescriptor * t_sdaiBINARY;
extern SCL_CORE_EXPORT const TypeDescriptor * t_sdaiBOOLEAN;
extern SCL_CORE_EXPORT const TypeDescriptor * t_sdaiLOGICAL;
///////////////////////////////////////////////////////////////////////////////
// Dictionary_instance
///////////////////////////////////////////////////////////////////////////////
class Dictionary_instance {
class SCL_CORE_EXPORT Dictionary_instance {
protected:
Dictionary_instance() {}
@@ -54,7 +55,7 @@ class Dictionary_instance {
///////////////////////////////////////////////////////////////////////////////
class TypeDescLinkNode : public SingleLinkNode {
class SCL_CORE_EXPORT TypeDescLinkNode : public SingleLinkNode {
private:
protected:
TypeDescriptor *_typeDesc;
@@ -66,7 +67,7 @@ class TypeDescLinkNode : public SingleLinkNode {
void TypeDesc(TypeDescriptor *td) { _typeDesc = td; }
};
class TypeDescriptorList : public SingleLinkList {
class SCL_CORE_EXPORT TypeDescriptorList : public SingleLinkList {
private:
protected:
public:
@@ -83,7 +84,7 @@ class TypeDescriptorList : public SingleLinkList {
}
};
class TypeDescItr
class SCL_CORE_EXPORT TypeDescItr
{
protected:
const TypeDescriptorList &tdl;
@@ -100,7 +101,7 @@ class TypeDescItr
///////////////////////////////////////////////////////////////////////////////
class EntityDescLinkNode : public SingleLinkNode {
class SCL_CORE_EXPORT EntityDescLinkNode : public SingleLinkNode {
private:
protected:
@@ -114,7 +115,7 @@ class EntityDescLinkNode : public SingleLinkNode {
void EntityDesc(EntityDescriptor *ed) { _entityDesc = ed; }
};
class EntityDescriptorList : public SingleLinkList {
class SCL_CORE_EXPORT EntityDescriptorList : public SingleLinkList {
private:
protected:
@@ -135,7 +136,7 @@ class EntityDescriptorList : public SingleLinkList {
typedef EntityDescriptorList * Entity__set_ptr;
typedef Entity__set_ptr Entity__set_var;
class EntityDescItr
class SCL_CORE_EXPORT EntityDescItr
{
protected:
const EntityDescriptorList &edl;
@@ -158,7 +159,7 @@ class EntityDescItr
// Interfaced_item
///////////////////////////////////////////////////////////////////////////////
class Interfaced_item : public Dictionary_instance {
class SCL_CORE_EXPORT Interfaced_item : public Dictionary_instance {
protected:
Interfaced_item();
Interfaced_item(const Interfaced_item&);
@@ -176,7 +177,7 @@ class Interfaced_item : public Dictionary_instance {
// Explicit_item_id
///////////////////////////////////////////////////////////////////////////////
class Explicit_item_id : public Interfaced_item{
class SCL_CORE_EXPORT Explicit_item_id : public Interfaced_item{
protected:
Explicit_item_id();
Explicit_item_id(const Explicit_item_id&);
@@ -225,7 +226,7 @@ class Explicit_item_id : public Interfaced_item{
typedef Explicit_item_id * Explicit_item_id_ptr;
class Used_item : public Explicit_item_id {
class SCL_CORE_EXPORT Used_item : public Explicit_item_id {
public:
Used_item() {}
Used_item(const char *foreign_schema, TypeDescriptor *ld,
@@ -238,7 +239,7 @@ class Used_item : public Explicit_item_id {
typedef Used_item * Used_item_ptr;
class Referenced_item : public Explicit_item_id {
class SCL_CORE_EXPORT Referenced_item : public Explicit_item_id {
public:
Referenced_item() {}
Referenced_item(const char *foreign_schema, TypeDescriptor *ld,
@@ -251,7 +252,7 @@ class Referenced_item : public Explicit_item_id {
typedef Referenced_item * Referenced_item_ptr;
class Explicit_item_id__set {
class SCL_CORE_EXPORT Explicit_item_id__set {
public:
Explicit_item_id__set(int = 16);
~Explicit_item_id__set();
@@ -279,7 +280,7 @@ typedef Explicit_item_id__set_ptr Explicit_item_id__set_var;
// Implicit_item_id
///////////////////////////////////////////////////////////////////////////////
class Implicit_item_id : public Interfaced_item {
class SCL_CORE_EXPORT Implicit_item_id : public Interfaced_item {
protected:
Implicit_item_id();
Implicit_item_id(Implicit_item_id&);
@@ -301,7 +302,7 @@ typedef Implicit_item_id * Implicit_item_id_ptr;
// Implicit_item_id__set
///////////////////////////////////////////////////////////////////////////////
class Implicit_item_id__set {
class SCL_CORE_EXPORT Implicit_item_id__set {
public:
Implicit_item_id__set(int = 16);
~Implicit_item_id__set();
@@ -329,7 +330,7 @@ typedef Implicit_item_id__set_ptr Implicit_item_id__set_var;
// Interface_spec
///////////////////////////////////////////////////////////////////////////////
class Interface_spec : public Dictionary_instance {
class SCL_CORE_EXPORT Interface_spec : public Dictionary_instance {
public:
Express_id _current_schema_id; // schema containing the USE/REF stmt
// set of objects from USE/REFERENCE stmt(s)
@@ -372,7 +373,7 @@ class Interface_spec : public Dictionary_instance {
typedef Interface_spec * Interface_spec_ptr;
class Interface_spec__set {
class SCL_CORE_EXPORT Interface_spec__set {
public:
Interface_spec__set(int = 16);
~Interface_spec__set();
@@ -397,7 +398,7 @@ typedef Interface_spec__set* Interface_spec__set_ptr;
typedef Interface_spec__set_ptr Interface_spec__set_var;
class Type_or_rule : public Dictionary_instance {
class SCL_CORE_EXPORT Type_or_rule : public Dictionary_instance {
public:
Type_or_rule();
Type_or_rule(const Type_or_rule&);
@@ -407,7 +408,7 @@ class Type_or_rule : public Dictionary_instance {
typedef Type_or_rule* Type_or_rule_ptr;
typedef Type_or_rule_ptr Type_or_rule_var;
class Where_rule : public Dictionary_instance {
class SCL_CORE_EXPORT Where_rule : public Dictionary_instance {
public:
Express_id _label;
Type_or_rule_var _type_or_rule;
@@ -434,7 +435,7 @@ class Where_rule : public Dictionary_instance {
typedef Where_rule * Where_rule_ptr;
class Where_rule__list {
class SCL_CORE_EXPORT Where_rule__list {
public:
Where_rule__list(int = 16);
~Where_rule__list();
@@ -458,7 +459,7 @@ private:
typedef Where_rule__list* Where_rule__list_ptr;
typedef Where_rule__list_ptr Where_rule__list_var;
class Global_rule : public Dictionary_instance {
class SCL_CORE_EXPORT Global_rule : public Dictionary_instance {
public:
Express_id _name;
Entity__set_var _entities; // not implemented
@@ -487,7 +488,7 @@ class Global_rule : public Dictionary_instance {
typedef Global_rule * Global_rule_ptr;
class Global_rule__set {
class SCL_CORE_EXPORT Global_rule__set {
public:
Global_rule__set(int = 16);
~Global_rule__set();
@@ -511,7 +512,7 @@ private:
typedef Global_rule__set* Global_rule__set_ptr;
typedef Global_rule__set_ptr Global_rule__set_var;
class Uniqueness_rule : public Dictionary_instance {
class SCL_CORE_EXPORT Uniqueness_rule : public Dictionary_instance {
public:
Express_id _label;
const EntityDescriptor * _parent_entity;
@@ -539,7 +540,7 @@ class Uniqueness_rule : public Dictionary_instance {
typedef Uniqueness_rule * Uniqueness_rule_ptr;
class Uniqueness_rule__set {
class SCL_CORE_EXPORT Uniqueness_rule__set {
public:
Uniqueness_rule__set(int = 16);
~Uniqueness_rule__set();
@@ -568,7 +569,7 @@ typedef SDAI_Model_contents_ptr (* ModelContentsCreator) () ;
/**
* \class Schema (was SchemaDescriptor) - a class of this type is generated and contains schema info.
*/
class Schema : public Dictionary_instance {
class SCL_CORE_EXPORT Schema : public Dictionary_instance {
protected:
const char * _name ;
@@ -646,7 +647,7 @@ typedef Schema SchemaDescriptor;
///////////////////////////////////////////////////////////////////////////////
class AttrDescLinkNode : public SingleLinkNode {
class SCL_CORE_EXPORT AttrDescLinkNode : public SingleLinkNode {
private:
protected:
AttrDescriptor *_attrDesc;
@@ -658,7 +659,7 @@ class AttrDescLinkNode : public SingleLinkNode {
void AttrDesc(AttrDescriptor *ad) { _attrDesc = ad; }
};
class AttrDescriptorList : public SingleLinkList {
class SCL_CORE_EXPORT AttrDescriptorList : public SingleLinkList {
private:
protected:
public:
@@ -670,7 +671,7 @@ class AttrDescriptorList : public SingleLinkList {
AttrDescLinkNode * AddNode (AttrDescriptor * ad);
};
class AttrDescItr
class SCL_CORE_EXPORT AttrDescItr
{
protected:
const AttrDescriptorList &adl;
@@ -687,7 +688,7 @@ class AttrDescItr
///////////////////////////////////////////////////////////////////////////////
class Inverse_attributeLinkNode : public SingleLinkNode {
class SCL_CORE_EXPORT Inverse_attributeLinkNode : public SingleLinkNode {
private:
protected:
Inverse_attribute *_invAttr;
@@ -699,7 +700,7 @@ class Inverse_attributeLinkNode : public SingleLinkNode {
void Inverse_attr(Inverse_attribute *ia) { _invAttr = ia; }
};
class Inverse_attributeList : public SingleLinkList {
class SCL_CORE_EXPORT Inverse_attributeList : public SingleLinkList {
private:
protected:
public:
@@ -710,7 +711,7 @@ class Inverse_attributeList : public SingleLinkList {
Inverse_attributeLinkNode * AddNode (Inverse_attribute * ia);
};
class InverseAItr
class SCL_CORE_EXPORT InverseAItr
{
protected:
const Inverse_attributeList &ial;
@@ -731,7 +732,7 @@ class InverseAItr
* An instance of this class will be generated for each attribute for
* an Entity. They will be pointed to by the EntityTypeDescriptors.
*/
class AttrDescriptor {
class SCL_CORE_EXPORT AttrDescriptor {
protected:
const char * _name ; // the attributes name
@@ -853,7 +854,7 @@ class AttrDescriptor {
// Derived_attribute
///////////////////////////////////////////////////////////////////////////////
class Derived_attribute : public AttrDescriptor {
class SCL_CORE_EXPORT Derived_attribute : public AttrDescriptor {
public:
const char *_initializer;
@@ -877,7 +878,7 @@ class Derived_attribute : public AttrDescriptor {
// Inverse_attribute
///////////////////////////////////////////////////////////////////////////////
class Inverse_attribute : public AttrDescriptor {
class SCL_CORE_EXPORT Inverse_attribute : public AttrDescriptor {
public:
const char *_inverted_attr_id;
@@ -939,7 +940,7 @@ class Inverse_attribute : public AttrDescriptor {
* schema is determined by the file schema section of the header section of a
* part21 file (the _headerInstances of STEPfile).
*/
class SchRename {
class SCL_CORE_EXPORT SchRename {
public:
SchRename( const char *sch="\0", const char *newnm="\0" ) : next(0)
{ strcpy( schName, sch ); strcpy( newName, newnm ); }
@@ -1044,7 +1045,7 @@ class SchRename {
* It is the same as _name for EXPRESS base types TypeDescriptors (with
* the possible exception of upper or lower case differences).
*/
class TypeDescriptor {
class SCL_CORE_EXPORT TypeDescriptor {
protected:
@@ -1209,7 +1210,7 @@ class TypeDescriptor {
typedef SDAI_Enum * (* EnumCreator) () ;
class EnumTypeDescriptor : public TypeDescriptor {
class SCL_CORE_EXPORT EnumTypeDescriptor : public TypeDescriptor {
public:
EnumCreator CreateNewEnum;
@@ -1241,7 +1242,7 @@ class EnumTypeDescriptor : public TypeDescriptor {
* will be building the same thing but using the new schema info.
* nodes (i.e. EntityDesc nodes) for each entity.
*/
class EntityDescriptor : public TypeDescriptor {
class SCL_CORE_EXPORT EntityDescriptor : public TypeDescriptor {
protected:
SDAI_LOGICAL _abstractEntity;
@@ -1337,7 +1338,7 @@ class EntityDescriptor : public TypeDescriptor {
* FIXME not implemented
*/
#ifdef NOT_YET
class EnumerationTypeDescriptor : public TypeDescriptor {
class SCL_CORE_EXPORT EnumerationTypeDescriptor : public TypeDescriptor {
protected:
StringAggregate *_elements ; // of (null)
@@ -1372,21 +1373,21 @@ typedef BinaryAggregate * (* BinaryAggregateCreator) () ;
typedef RealAggregate * (* RealAggregateCreator) () ;
typedef IntAggregate * (* IntAggregateCreator) () ;
EnumAggregate * create_EnumAggregate();
SCL_CORE_EXPORT EnumAggregate * create_EnumAggregate();
GenericAggregate * create_GenericAggregate();
SCL_CORE_EXPORT GenericAggregate * create_GenericAggregate();
EntityAggregate * create_EntityAggregate();
SCL_CORE_EXPORT EntityAggregate * create_EntityAggregate();
SelectAggregate * create_SelectAggregate();
SCL_CORE_EXPORT SelectAggregate * create_SelectAggregate();
StringAggregate * create_StringAggregate();
SCL_CORE_EXPORT StringAggregate * create_StringAggregate();
BinaryAggregate * create_BinaryAggregate();
SCL_CORE_EXPORT BinaryAggregate * create_BinaryAggregate();
RealAggregate * create_RealAggregate();
SCL_CORE_EXPORT RealAggregate * create_RealAggregate();
IntAggregate * create_IntAggregate();
SCL_CORE_EXPORT IntAggregate * create_IntAggregate();
/**
* \class AggrTypeDescriptor
@@ -1399,7 +1400,7 @@ IntAggregate * create_IntAggregate();
* together by the _aggrDomainType variables. If you can make this
* work then go for it.
*/
class AggrTypeDescriptor : public TypeDescriptor {
class SCL_CORE_EXPORT AggrTypeDescriptor : public TypeDescriptor {
protected:
@@ -1448,7 +1449,7 @@ class AggrTypeDescriptor : public TypeDescriptor {
///////////////////////////////////////////////////////////////////////////////
// ArrayTypeDescriptor
///////////////////////////////////////////////////////////////////////////////
class ArrayTypeDescriptor : public AggrTypeDescriptor {
class SCL_CORE_EXPORT ArrayTypeDescriptor : public AggrTypeDescriptor {
protected:
SDAI_LOGICAL _optionalElements ;
@@ -1474,7 +1475,7 @@ class ArrayTypeDescriptor : public AggrTypeDescriptor {
void OptionalElements (const char *oe) { _optionalElements.put(oe); }
};
class ListTypeDescriptor : public AggrTypeDescriptor {
class SCL_CORE_EXPORT ListTypeDescriptor : public AggrTypeDescriptor {
protected:
public:
@@ -1487,7 +1488,7 @@ class ListTypeDescriptor : public AggrTypeDescriptor {
};
class SetTypeDescriptor : public AggrTypeDescriptor {
class SCL_CORE_EXPORT SetTypeDescriptor : public AggrTypeDescriptor {
protected:
public:
@@ -1501,7 +1502,7 @@ class SetTypeDescriptor : public AggrTypeDescriptor {
};
class BagTypeDescriptor : public AggrTypeDescriptor {
class SCL_CORE_EXPORT BagTypeDescriptor : public AggrTypeDescriptor {
protected:
public:
@@ -1517,7 +1518,7 @@ class BagTypeDescriptor : public AggrTypeDescriptor {
typedef SDAI_Select * (* SelectCreator) () ;
class SelectTypeDescriptor : public TypeDescriptor {
class SCL_CORE_EXPORT SelectTypeDescriptor : public TypeDescriptor {
protected:
TypeDescriptorList _elements ; // of TYPE_DESCRIPTOR
@@ -1554,7 +1555,7 @@ class SelectTypeDescriptor : public TypeDescriptor {
const;
};
class StringTypeDescriptor : public TypeDescriptor {
class SCL_CORE_EXPORT StringTypeDescriptor : public TypeDescriptor {
protected:
SDAI_Integer _width ; // OPTIONAL
@@ -1573,7 +1574,7 @@ class StringTypeDescriptor : public TypeDescriptor {
void FixedSize (Logical fs) { _fixedSize.put(fs); }
};
class RealTypeDescriptor : public TypeDescriptor {
class SCL_CORE_EXPORT RealTypeDescriptor : public TypeDescriptor {
protected:
SDAI_Integer _precisionSpec ; // OPTIONAL
+2 -1
View File
@@ -12,6 +12,7 @@
* and is not subject to copyright.
*/
#include <scl_export.h>
#include <sdai.h>
#include <errordesc.h>
#include <scl_hash.h>
@@ -24,7 +25,7 @@ class Registry;
extern char * EntityClassName ( char *);
typedef void (* CF_init) (Registry &); // pointer to creation initialization
class Registry {
class SCL_CORE_EXPORT Registry {
protected:
HashTable primordialSwamp; // dictionary of EntityDescriptors
HashTable active_schemas; // dictionary of Schemas
+23 -22
View File
@@ -18,6 +18,7 @@ class LOGICAL;
class BOOLEAN;
class TypeDescriptor;
#include <scl_export.h>
#include <errordesc.h>
#include <SingleLinkList.h>
#include <baseType.h>
@@ -35,7 +36,7 @@ typedef STEPaggregate * STEPaggregateH;
typedef STEPaggregate * STEPaggregate_ptr;
typedef STEPaggregate_ptr STEPaggregate_var;
class STEPaggregate : public SingleLinkList
class SCL_CORE_EXPORT STEPaggregate : public SingleLinkList
{
protected:
int _null;
@@ -89,7 +90,7 @@ class STEPaggregate : public SingleLinkList
** This class supports LIST OF:
** SELECT_TYPE, BINARY_TYPE, GENERIC_TYPE, ENUM_TYPE, UNKNOWN_TYPE type
******************************************************************/
class GenericAggregate : public STEPaggregate
class SCL_CORE_EXPORT GenericAggregate : public STEPaggregate
{
public:
virtual SingleLinkNode *NewNode();
@@ -106,7 +107,7 @@ typedef GenericAggregate_ptr GenericAggregate_var;
**
*****************************************************************************/
class EntityAggregate : public STEPaggregate
class SCL_CORE_EXPORT EntityAggregate : public STEPaggregate
{
public:
virtual Severity ReadValue(istream &in, ErrorDescriptor *err,
@@ -129,7 +130,7 @@ typedef EntityAggregate_ptr EntityAggregate_var;
** \class SelectAggregate
** This is a minimal represention for a collection of SDAI_Select
******************************************************************/
class SelectAggregate : public STEPaggregate
class SCL_CORE_EXPORT SelectAggregate : public STEPaggregate
{
public:
virtual Severity ReadValue(istream &in, ErrorDescriptor *err,
@@ -152,7 +153,7 @@ typedef SelectAggregate_ptr SelectAggregate_var;
** \class StringAggregate
** This class supports LIST OF STRING type
******************************************************************/
class StringAggregate : public STEPaggregate
class SCL_CORE_EXPORT StringAggregate : public STEPaggregate
{
public:
virtual SingleLinkNode *NewNode();
@@ -170,7 +171,7 @@ typedef StringAggregate_ptr StringAggregate_var;
** \class BinaryAggregate
** This class supports LIST OF BINARY type
******************************************************************/
class BinaryAggregate : public STEPaggregate
class SCL_CORE_EXPORT BinaryAggregate : public STEPaggregate
{
public:
virtual SingleLinkNode *NewNode();
@@ -188,7 +189,7 @@ typedef BinaryAggregate_ptr BinaryAggregate_var;
** \class EnumAggregate
** This is a minimal representions for a collection ofSDAI_Enum
******************************************************************/
class EnumAggregate : public STEPaggregate
class SCL_CORE_EXPORT EnumAggregate : public STEPaggregate
{
public:
virtual SingleLinkNode *NewNode ();
@@ -201,7 +202,7 @@ typedef EnumAggregate * EnumAggregateH;
typedef EnumAggregate * EnumAggregate_ptr;
typedef EnumAggregate_ptr EnumAggregate_var;
class LOGICALS : public EnumAggregate
class SCL_CORE_EXPORT LOGICALS : public EnumAggregate
{
public:
virtual SingleLinkNode * NewNode ();
@@ -212,10 +213,10 @@ class LOGICALS : public EnumAggregate
typedef LOGICALS * LogicalsH;
typedef LOGICALS * LOGICALS_ptr;
typedef LOGICALS_ptr LOGICALS_var;
LOGICALS * create_LOGICALS();
SCL_CORE_EXPORT LOGICALS * create_LOGICALS();
class BOOLEANS : public EnumAggregate
class SCL_CORE_EXPORT BOOLEANS : public EnumAggregate
{
public:
virtual SingleLinkNode * NewNode ();
@@ -227,9 +228,9 @@ class BOOLEANS : public EnumAggregate
typedef BOOLEANS * BOOLEANS_ptr;
typedef BOOLEANS_ptr BOOLEANS_var;
BOOLEANS * create_BOOLEANS();
SCL_CORE_EXPORT BOOLEANS * create_BOOLEANS();
class RealAggregate : public STEPaggregate {
class SCL_CORE_EXPORT RealAggregate : public STEPaggregate {
public:
virtual SingleLinkNode *NewNode();
@@ -242,7 +243,7 @@ typedef RealAggregate * RealAggregateH;
typedef RealAggregate * RealAggregate_ptr;
typedef RealAggregate_ptr RealAggregate_var;
class IntAggregate : public STEPaggregate {
class SCL_CORE_EXPORT IntAggregate : public STEPaggregate {
public:
virtual SingleLinkNode *NewNode();
@@ -257,7 +258,7 @@ typedef IntAggregate_ptr IntAggregate_var;
///////////////////////////////////////////////////////////////////////////////
class STEPnode : public SingleLinkNode {
class SCL_CORE_EXPORT STEPnode : public SingleLinkNode {
protected:
int _null;
@@ -283,7 +284,7 @@ typedef STEPnode * STEPnodeH;
** \class GenericAggregate
** This class is for the Nodes of GenericAggregates
******************************************************************/
class GenericAggrNode : public STEPnode {
class SCL_CORE_EXPORT GenericAggrNode : public STEPnode {
public:
SCLundefined value;
@@ -310,7 +311,7 @@ class GenericAggrNode : public STEPnode {
/////////////////////////////////////////////////////////////////////////////
class EntityNode : public STEPnode {
class SCL_CORE_EXPORT EntityNode : public STEPnode {
public:
SDAI_Application_instance * node;
@@ -370,7 +371,7 @@ class EntityNode : public STEPnode {
** \class SelectNode
** This is a minimal representions for node in lists of SDAI_Select
******************************************************************/
class SelectNode : public STEPnode {
class SCL_CORE_EXPORT SelectNode : public STEPnode {
public:
SDAI_Select * node;
// INPUT
@@ -429,7 +430,7 @@ class SelectNode : public STEPnode {
** \class StringNode
** This class is for the Nodes of StringAggregates
******************************************************************/
class StringNode : public STEPnode {
class SCL_CORE_EXPORT StringNode : public STEPnode {
public:
SDAI_String value;
// INPUT
@@ -459,7 +460,7 @@ class StringNode : public STEPnode {
** \class BinaryNode
** This class is for the Nodes of BinaryAggregates
******************************************************************/
class BinaryNode : public STEPnode {
class SCL_CORE_EXPORT BinaryNode : public STEPnode {
public:
SDAI_Binary value;
// INPUT
@@ -487,7 +488,7 @@ class BinaryNode : public STEPnode {
** \class EnumNode
** This is a minimal representions for node in lists of SDAI_Enum
******************************************************************/
class EnumNode : public STEPnode {
class SCL_CORE_EXPORT EnumNode : public STEPnode {
public:
SDAI_Enum * node;
// INPUT
@@ -510,7 +511,7 @@ class EnumNode : public STEPnode {
virtual SingleLinkNode * NewNode ();
};
class RealNode : public STEPnode {
class SCL_CORE_EXPORT RealNode : public STEPnode {
public:
SDAI_Real value; // double
// INPUT
@@ -532,7 +533,7 @@ class RealNode : public STEPnode {
virtual SingleLinkNode * NewNode ();
};
class IntNode : public STEPnode {
class SCL_CORE_EXPORT IntNode : public STEPnode {
public:
SDAI_Integer value; // long int
// INPUT
+14 -14
View File
@@ -13,7 +13,7 @@
*/
#include <scl_export.h>
#include <stdio.h>
#include <errordesc.h>
#include <baseType.h>
@@ -39,23 +39,23 @@ class EntityDescriptor;
#include <sstream>
extern int SetErrOnNull(const char *attrValue, ErrorDescriptor *error);
extern SCL_CORE_EXPORT int SetErrOnNull(const char *attrValue, ErrorDescriptor *error);
extern Severity CheckRemainingInput(istream &in, ErrorDescriptor *err,
extern SCL_CORE_EXPORT Severity CheckRemainingInput(istream &in, ErrorDescriptor *err,
const char *typeName, // used in error message
const char *tokenList); // e.g. ",)"
extern SDAI_Application_instance * ReadEntityRef(istream &in, ErrorDescriptor *err, const char *tokenList,
extern SCL_CORE_EXPORT SDAI_Application_instance * ReadEntityRef(istream &in, ErrorDescriptor *err, const char *tokenList,
InstMgr * instances, int addFileId);
extern SDAI_Application_instance * ReadEntityRef(const char * s, ErrorDescriptor *err, const char *tokenList,
extern SCL_CORE_EXPORT SDAI_Application_instance * ReadEntityRef(const char * s, ErrorDescriptor *err, const char *tokenList,
InstMgr * instances, int addFileId);
extern Severity EntityValidLevel(SDAI_Application_instance *se,
extern SCL_CORE_EXPORT Severity EntityValidLevel(SDAI_Application_instance *se,
const TypeDescriptor *ed, ///< entity type that entity se needs to match. (this must be an EntityDescriptor)
ErrorDescriptor *err);
extern Severity EntityValidLevel(const char *attrValue, ///< string containing entity ref
extern SCL_CORE_EXPORT Severity EntityValidLevel(const char *attrValue, ///< string containing entity ref
const TypeDescriptor *ed, /**< entity type that entity in attrValue (if it exists) needs
* to match. (this must be an EntityDescriptor)
*/
@@ -64,21 +64,21 @@ extern Severity EntityValidLevel(const char *attrValue, ///< string containing e
////////////////////
////////////////////
extern SDAI_Application_instance *STEPread_reference (const char * s, ErrorDescriptor *err,
extern SCL_CORE_EXPORT SDAI_Application_instance *STEPread_reference (const char * s, ErrorDescriptor *err,
InstMgr * instances, int addFileId);
////////////////////
extern int QuoteInString(istream& in);
extern SCL_CORE_EXPORT int QuoteInString(istream& in);
extern void AppendChar(char c, int& index, char *&s, int& sSize);
extern SCL_CORE_EXPORT void AppendChar(char c, int& index, char *&s, int& sSize);
extern void PushPastString (istream& in, std::string& s, ErrorDescriptor *err);
extern SCL_CORE_EXPORT void PushPastString (istream& in, std::string& s, ErrorDescriptor *err);
extern void PushPastImbedAggr (istream& in, std::string& s, ErrorDescriptor *err);
extern SCL_CORE_EXPORT void PushPastImbedAggr (istream& in, std::string& s, ErrorDescriptor *err);
extern void PushPastAggr1Dim(istream& in, std::string& s, ErrorDescriptor *err);
extern SCL_CORE_EXPORT void PushPastAggr1Dim(istream& in, std::string& s, ErrorDescriptor *err);
class STEPattribute {
class SCL_CORE_EXPORT STEPattribute {
friend ostream &operator<< ( ostream&, STEPattribute& );
friend class SDAI_Application_instance;
protected:
+4 -2
View File
@@ -14,11 +14,13 @@
*/
class STEPattribute;
#include <scl_export.h>
#include <SingleLinkList.h>
class STEPattributeList;
class AttrListNode : public SingleLinkNode
class SCL_CORE_EXPORT AttrListNode : public SingleLinkNode
{
friend class STEPattributeList;
@@ -31,7 +33,7 @@ class AttrListNode : public SingleLinkNode
};
class STEPattributeList : public SingleLinkList
class SCL_CORE_EXPORT STEPattributeList : public SingleLinkList
{
public:
STEPattributeList();
+2 -1
View File
@@ -1,13 +1,14 @@
#ifndef STEPCOMPLEX_H
#define STEPCOMPLEX_H
#include <scl_export.h>
#include <errordesc.h>
#include <sdai.h>
#include <baseType.h>
#include <ExpDict.h>
#include <Registry.h>
class STEPcomplex : public SDAI_Application_instance {
class SCL_CORE_EXPORT STEPcomplex : public SDAI_Application_instance {
public:
STEPcomplex * sc;
STEPcomplex * head;
+2 -1
View File
@@ -12,11 +12,12 @@
* and is not subject to copyright.
*/
#include <scl_export.h>
#include <errordesc.h>
#include <string>
#include <read_func.h>
class SCLundefined {
class SCL_CORE_EXPORT SCLundefined {
protected:
std::string val;
+4 -2
View File
@@ -12,7 +12,9 @@
* and is not subject to copyright.
*/
class SingleLinkList {
#include <scl_export.h>
class SCL_CORE_EXPORT SingleLinkList {
// node which represents the value is contained in the subclass
// since it may have different types for different lists
@@ -41,7 +43,7 @@ class SingleLinkList {
;
class SingleLinkNode {
class SCL_CORE_EXPORT SingleLinkNode {
friend class SingleLinkList;
protected:
+11 -10
View File
@@ -14,6 +14,7 @@
* Date: 5/9/97 *
*****************************************************************************/
#include <scl_export.h>
#include <iostream>
#include <fstream>
using namespace std;
@@ -71,7 +72,7 @@ class OrList;
class ComplexList;
class ComplexCollect;
class EntNode {
class SCL_CORE_EXPORT EntNode {
friend class SimpleList;
friend class AndOrList;
friend class AndList;
@@ -112,7 +113,7 @@ class EntNode {
EntNode *lastSmaller( EntNode * ); ///< used by ::sort()
};
class EntList {
class SCL_CORE_EXPORT EntList {
friend class MultList;
friend class JoinList;
friend class OrList;
@@ -163,7 +164,7 @@ class EntList {
int level; ///< How many levels deep are we (main use for printing).
};
class SimpleList : public EntList {
class SCL_CORE_EXPORT SimpleList : public EntList {
friend class ComplexList;
friend ostream & operator<< ( ostream &, SimpleList & );
@@ -190,7 +191,7 @@ class SimpleList : public EntList {
* Supports concepts and functionality common to all the compound list
* types, especially AND and ANDOR.
*/
class MultList : public EntList {
class SCL_CORE_EXPORT MultList : public EntList {
friend class ComplexList;
friend class ComplexCollect;
@@ -231,7 +232,7 @@ class MultList : public EntList {
* A specialized MultList, super for subtypes AndOrList and AndList, or
* ones which join their multiple children.
*/
class JoinList : public MultList {
class SCL_CORE_EXPORT JoinList : public MultList {
public:
JoinList( JoinType j ) : MultList(j) {}
~JoinList() {}
@@ -239,7 +240,7 @@ class JoinList : public MultList {
bool acceptChoice( EntNode * ents );
};
class AndOrList : public JoinList {
class SCL_CORE_EXPORT AndOrList : public JoinList {
friend class ComplexList;
public:
@@ -249,7 +250,7 @@ class AndOrList : public JoinList {
MatchType matchORs( EntNode * );
};
class AndList : public JoinList {
class SCL_CORE_EXPORT AndList : public JoinList {
friend class ComplexList;
friend ostream & operator<< ( ostream &, ComplexList & );
@@ -260,7 +261,7 @@ class AndList : public JoinList {
MatchType matchORs( EntNode * );
};
class OrList : public MultList {
class SCL_CORE_EXPORT OrList : public MultList {
public:
OrList() : MultList( OR ), choice(-1), choice1(-2), choiceCount(0) {}
~OrList() {}
@@ -283,7 +284,7 @@ class OrList : public MultList {
* Contains the entire list of EntLists which describe the set of
* instantiable complex entities defined by an EXPRESS expression.
*/
class ComplexList {
class SCL_CORE_EXPORT ComplexList {
friend class ultList;
friend class ComplexCollect;
friend ostream & operator<< ( ostream &, ComplexList & );
@@ -327,7 +328,7 @@ class ComplexList {
};
/// The collection of all the ComplexLists defined by the current schema.
class ComplexCollect {
class SCL_CORE_EXPORT ComplexCollect {
public:
ComplexCollect( ComplexList *c = NULL ) : clists(c)
{ count = ( c ? 1 : 0 ); }
+28 -27
View File
@@ -1,80 +1,81 @@
#ifndef READ_FUNC_H
#define READ_FUNC_H
#include <scl_export.h>
#include <sdai.h>
#define MAX_COMMENT_LENGTH 512
// print Error information for debugging purposes
extern void PrintErrorState(ErrorDescriptor &err);
extern SCL_CORE_EXPORT void PrintErrorState(ErrorDescriptor &err);
// print istream error information for debugging purposes
extern void IStreamState(istream &in);
extern SCL_CORE_EXPORT void IStreamState(istream &in);
extern int ReadInteger(SDAI_Integer &val, istream &in, ErrorDescriptor *err,
extern SCL_CORE_EXPORT int ReadInteger(SDAI_Integer &val, istream &in, ErrorDescriptor *err,
const char *tokenList);
extern int ReadInteger(SDAI_Integer &val, const char *s, ErrorDescriptor *err,
extern SCL_CORE_EXPORT int ReadInteger(SDAI_Integer &val, const char *s, ErrorDescriptor *err,
const char *tokenList);
extern Severity IntValidLevel (const char *attrValue, ErrorDescriptor *err,
extern SCL_CORE_EXPORT Severity IntValidLevel (const char *attrValue, ErrorDescriptor *err,
int clearError, int optional, char *tokenList);
extern std::string WriteReal(SDAI_Real val );
extern SCL_CORE_EXPORT std::string WriteReal(SDAI_Real val );
extern void WriteReal(SDAI_Real val, ostream &out);
extern SCL_CORE_EXPORT void WriteReal(SDAI_Real val, ostream &out);
extern int ReadReal(SDAI_Real &val, istream &in, ErrorDescriptor *err,
extern SCL_CORE_EXPORT int ReadReal(SDAI_Real &val, istream &in, ErrorDescriptor *err,
const char *tokenList);
extern int ReadReal(SDAI_Real &val, const char *s, ErrorDescriptor *err,
extern SCL_CORE_EXPORT int ReadReal(SDAI_Real &val, const char *s, ErrorDescriptor *err,
const char *tokenList);
extern Severity RealValidLevel (const char *attrValue, ErrorDescriptor *err,
extern SCL_CORE_EXPORT Severity RealValidLevel (const char *attrValue, ErrorDescriptor *err,
int clearError, int optional, char *tokenList);
extern int ReadNumber(SDAI_Real &val, istream &in, ErrorDescriptor *err,
extern SCL_CORE_EXPORT int ReadNumber(SDAI_Real &val, istream &in, ErrorDescriptor *err,
const char *tokenList);
extern int ReadNumber(SDAI_Real &val, const char *s, ErrorDescriptor *err,
extern SCL_CORE_EXPORT int ReadNumber(SDAI_Real &val, const char *s, ErrorDescriptor *err,
const char *tokenList);
extern Severity NumberValidLevel (const char *attrValue, ErrorDescriptor *err,
extern SCL_CORE_EXPORT Severity NumberValidLevel (const char *attrValue, ErrorDescriptor *err,
int clearError, int optional, char *tokenList);
////////////////////
extern int QuoteInString(istream& in);
extern SCL_CORE_EXPORT int QuoteInString(istream& in);
extern void PushPastString (istream& in, std::string &s, ErrorDescriptor *err);
extern SCL_CORE_EXPORT void PushPastString (istream& in, std::string &s, ErrorDescriptor *err);
extern void PushPastImbedAggr (istream& in, std::string &s, ErrorDescriptor *err);
extern SCL_CORE_EXPORT void PushPastImbedAggr (istream& in, std::string &s, ErrorDescriptor *err);
extern void PushPastAggr1Dim(istream& in, std::string &s, ErrorDescriptor *err);
extern SCL_CORE_EXPORT void PushPastAggr1Dim(istream& in, std::string &s, ErrorDescriptor *err);
////////////////////
extern Severity FindStartOfInstance(istream& in, std::string& inst);
extern SCL_CORE_EXPORT Severity FindStartOfInstance(istream& in, std::string& inst);
/// used for instances that aren\'t valid - reads to next \';\'
extern Severity SkipInstance (istream& in, std::string & inst);
extern SCL_CORE_EXPORT Severity SkipInstance (istream& in, std::string & inst);
extern const char * SkipSimpleRecord(istream &in, std::string &buf, ErrorDescriptor *err);
extern SCL_CORE_EXPORT const char * SkipSimpleRecord(istream &in, std::string &buf, ErrorDescriptor *err);
/// this includes entity names
extern const char * ReadStdKeyword(istream& in, std::string &buf, int skipInitWS = 1);
extern SCL_CORE_EXPORT const char * ReadStdKeyword(istream& in, std::string &buf, int skipInitWS = 1);
extern const char* GetKeyword(istream& in, const char* delims, ErrorDescriptor &err);
extern SCL_CORE_EXPORT const char* GetKeyword(istream& in, const char* delims, ErrorDescriptor &err);
extern int FoundEndSecKywd(istream& in, ErrorDescriptor &err);
extern SCL_CORE_EXPORT int FoundEndSecKywd(istream& in, ErrorDescriptor &err);
extern const char *ReadComment(std::string &ss, const char *s);
extern SCL_CORE_EXPORT const char *ReadComment(std::string &ss, const char *s);
extern const char *ReadComment(istream& in, std::string &s);
extern SCL_CORE_EXPORT const char *ReadComment(istream& in, std::string &s);
extern Severity ReadPcd(istream& in); //print control directive
extern SCL_CORE_EXPORT Severity ReadPcd(istream& in); //print control directive
extern void ReadTokenSeparator(istream& in, std::string *comments = 0);
extern SCL_CORE_EXPORT void ReadTokenSeparator(istream& in, std::string *comments = 0);
#endif
+6 -5
View File
@@ -19,6 +19,7 @@
*/
#include <scl_cf.h>
#include <scl_export.h>
extern const char *SCLversion;
@@ -63,10 +64,10 @@ typedef unsigned long SDAI_ULong;
typedef double SDAI_Real;
// C++ from values.h DAS PORT
extern const SDAI_Integer SDAI_INT_NULL;
extern const SDAI_Real SDAI_REAL_NULL;
extern SCL_CORE_EXPORT const SDAI_Integer SDAI_INT_NULL;
extern SCL_CORE_EXPORT const SDAI_Real SDAI_REAL_NULL;
// arbitrary choice by me for number DAS
extern const SDAI_Real SDAI_NUMBER_NULL;
extern SCL_CORE_EXPORT const SDAI_Real SDAI_NUMBER_NULL;
enum SDAI_Access_type {
@@ -214,7 +215,7 @@ typedef SDAI_Model_contents_ptr SDAI_Model_contents_var;
#include <sdaiModel_contents.h>
// ENTITY
extern SDAI_Application_instance NilSTEPentity;
extern SCL_CORE_EXPORT SDAI_Application_instance NilSTEPentity;
#define ENTITY_NULL &NilSTEPentity
#define NULL_ENTITY &NilSTEPentity
#define S_ENTITY_NULL &NilSTEPentity
@@ -227,7 +228,7 @@ typedef STEPentity_ptr STEPentity_var;
typedef SDAI_Application_instance* STEPentityPtr;
typedef SDAI_Application_instance* STEPentityH;
extern SDAI_Application_instance *
extern SCL_CORE_EXPORT SDAI_Application_instance *
ReadEntityRef(istream &in, ErrorDescriptor *err, const char *tokenList,
InstMgr * instances, int addFileId);
+2 -1
View File
@@ -12,11 +12,12 @@
* and is not subject to copyright.
*/
#include <scl_export.h>
///////////////////////////////////////////////////////////////////////////////
// SDAI_Application_instance used to be STEPentity
class SDAI_Application_instance : public SDAI_DAObject_SDAI
class SCL_CORE_EXPORT SDAI_Application_instance : public SDAI_DAObject_SDAI
{
private:
int _cur; // provides a built-in way of accessing attributes in order.
+3 -1
View File
@@ -12,10 +12,12 @@
* and is not subject to copyright.
*/
#include <scl_export.h>
/**
** \file sdaiSelect.h class definition for the select superclass SDAI_Select.
**/
class SDAI_Select {
class SCL_CORE_EXPORT SDAI_Select {
protected:
const SelectTypeDescriptor *_type;
const TypeDescriptor * underlying_type;