96 lines
2.2 KiB
C++
96 lines
2.2 KiB
C++
#ifndef GLOBALRULE_H
|
|
#define GLOBALRULE_H
|
|
|
|
#include "clstepcore/dictionaryInstance.h"
|
|
#include "whereRule.h"
|
|
#include "entityDescriptorList.h"
|
|
|
|
#include "sc_export.h"
|
|
|
|
class SC_CORE_EXPORT Global_rule : public Dictionary_instance {
|
|
public:
|
|
#ifdef _MSC_VER
|
|
#pragma warning( push )
|
|
#pragma warning( disable: 4251 )
|
|
#endif
|
|
Express_id _name;
|
|
#ifdef _MSC_VER
|
|
#pragma warning( pop )
|
|
#endif
|
|
|
|
Entity__set_var _entities; // not implemented
|
|
Where_rule__list_var _where_rules;
|
|
Schema_ptr _parent_schema;
|
|
#ifdef _MSC_VER
|
|
#pragma warning( push )
|
|
#pragma warning( disable: 4251 )
|
|
#endif
|
|
std::string _rule_text; // non-SDAI
|
|
#ifdef _MSC_VER
|
|
#pragma warning( pop )
|
|
#endif
|
|
|
|
Global_rule();
|
|
Global_rule( const char * n, Schema_ptr parent_sch, const std::string & rt );
|
|
Global_rule( Global_rule & ); // not fully implemented
|
|
virtual ~Global_rule();
|
|
|
|
Express_id name_() const {
|
|
return _name;
|
|
}
|
|
Entity__set_var entities_() const {
|
|
return _entities;
|
|
}
|
|
Where_rule__list_var where_rules_() const {
|
|
return _where_rules;
|
|
}
|
|
Schema_ptr parent_schema_() const {
|
|
return _parent_schema;
|
|
}
|
|
const char * rule_text_() {
|
|
return _rule_text.c_str();
|
|
}
|
|
|
|
void name_( Express_id & n ) {
|
|
_name = n;
|
|
}
|
|
void entities_( const Entity__set_var & e ); // not implemented
|
|
void where_rules_( const Where_rule__list_var & wrl ); // not implemented
|
|
void parent_schema_( const Schema_ptr & s ) {
|
|
_parent_schema = s;
|
|
}
|
|
void rule_text_( const char * rt ) {
|
|
_rule_text = rt;
|
|
}
|
|
|
|
};
|
|
|
|
typedef Global_rule * Global_rule_ptr;
|
|
|
|
class SC_CORE_EXPORT Global_rule__set {
|
|
public:
|
|
Global_rule__set( int = 16 );
|
|
~Global_rule__set();
|
|
|
|
Global_rule_ptr & operator[]( int index );
|
|
void Insert( Global_rule_ptr, int index );
|
|
void Append( Global_rule_ptr );
|
|
void Remove( int index );
|
|
int Index( Global_rule_ptr );
|
|
|
|
int Count();
|
|
void Clear();
|
|
private:
|
|
void Check( int index );
|
|
private:
|
|
Global_rule_ptr * _buf;
|
|
int _bufsize;
|
|
int _count;
|
|
};
|
|
|
|
typedef Global_rule__set * Global_rule__set_ptr;
|
|
typedef Global_rule__set_ptr Global_rule__set_var;
|
|
|
|
|
|
#endif //GLOBALRULE_H
|