Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions GUI/Dataman/Dataman.pri
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
$$DATAMAN_H/v_dbm.h \
$$DATAMAN_H/t_print.h \
$$DATAMAN_H/t_read.h \
$$DATAMAN_H/v_module.h
$$DATAMAN_H/v_module.h \
#$$PWD/v_module_gui.h


SOURCES += $$DATAMAN_CPP/v_user.cpp \
Expand All @@ -18,7 +19,8 @@
$$DATAMAN_CPP/v_dbm2.cpp \
$$DATAMAN_CPP/t_print.cpp \
$$DATAMAN_CPP/t_read.cpp \
$$DATAMAN_CPP/v_module.cpp
$$DATAMAN_CPP/v_module.cpp \
#$$PWD/v_module_gui.cpp



31 changes: 14 additions & 17 deletions GUI/Dataman/t_print.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,13 @@
// E-mail gems2.support@psi.ch
//-------------------------------------------------------------------

#include <cstdio>
#include "t_print.h"
#include "v_object.h"
#include "v_dbm.h"
#include "v_user.h"
#include "service.h"


TPrintData::TPrintData(const char *sd_key,
unsigned int nrt, fstream& fout, const char *fmt_text ):
unsigned int nrt, std::fstream& fout, const char *fmt_text ):
key_format( sd_key ), nRT(nrt)
{
ErrorIf( !fout.good() , rt[nRT]->GetKeywd(), "Fileopen error");
Expand Down Expand Up @@ -61,7 +58,7 @@ TPrintData::TPrintData(const char *sd_key,
count = 1;
}
else
{ string str_err = "Invalid command: \n";
{ std::string str_err = "Invalid command: \n";
str_err += input;
Error( key_format, str_err );
}
Expand All @@ -78,7 +75,7 @@ TPrintData::TPrintData(const char *sd_key,
pose = strchr( pose+1, '#');
}
if( !pose )
{ string str_err = "Invalid condition: \n";
{ std::string str_err = "Invalid condition: \n";
str_err += input;
Error( key_format, str_err );
}
Expand Down Expand Up @@ -111,7 +108,7 @@ TPrintData::TPrintData(const char *sd_key,
/*while( *input == ' ' || *input == '\n' || *input == '\t')
input++; */
if( !getFormat( input ) )
{ string str_err = "Wrong or missing format: \n";
{ std::string str_err = "Wrong or missing format: \n";
str_err += input;
Error( key_format, str_err );
} // added by KD 17.06.2002
Expand Down Expand Up @@ -232,7 +229,7 @@ TPrintData::getToken( int& ii, int& jj )
{
int i;
int data=0;
string str;
std::string str;

skipSpace();
/* while( *input == ' ' || *input == '\n' || *input == '\t')
Expand Down Expand Up @@ -294,7 +291,7 @@ TPrintData::getToken( int& ii, int& jj )
}
skipSpace();
if( *input != ']')
{ string str_err = "Invalid format: \n";
{ std::string str_err = "Invalid format: \n";
str_err += input;
Error( key_format, str_err );
}
Expand All @@ -312,7 +309,7 @@ TPrintData::getToken( int& ii, int& jj )
else if( str == "date" ) data = date_d;
else if( str == "time" ) data = time_d;
else
{ string str_err = "Invalid token: \n";
{ std::string str_err = "Invalid token: \n";
str_err += str;
if( i==0 )
str_err += input;
Expand All @@ -331,7 +328,7 @@ TPrintData::getToken( int& ii, int& jj )
str = char_array_to_string( input, i );
data = aObj.Find( str.c_str() );
if( data < 0 )
{ string str_err = "Invalid object name: \n";
{ std::string str_err = "Invalid object name: \n";
str_err += str;
if( i==0 )
str_err += input;
Expand Down Expand Up @@ -361,7 +358,7 @@ TPrintData::getToken( int& ii, int& jj )
}
skipSpace();
if( *input != ']')
{ string str_err = "Invalid format: \n";
{ std::string str_err = "Invalid format: \n";
str_err += input;
Error( key_format, str_err );
}
Expand Down Expand Up @@ -416,7 +413,7 @@ TPrintData::getData( )
}
if( _data < time_d )
{
string str = "Error in format:\n";
std::string str = "Error in format:\n";
str+= input;
Error( key_format, str);
}
Expand All @@ -426,13 +423,13 @@ TPrintData::getData( )

}

const string emptiness("---");
const std::string emptiness("---");

void
TPrintData::prnData( fstream& fout, int ind, PFormat& fmt, PData& dt )
TPrintData::prnData( std::fstream& fout, int ind, PFormat& fmt, PData& dt )
{
char strbuf[8192];
string format = fmt.FmtOut();
std::string format = fmt.FmtOut();
switch( dt.data )
{
case space_d: fmt.type = 's';
Expand Down Expand Up @@ -495,7 +492,7 @@ TPrintData::prnData( fstream& fout, int ind, PFormat& fmt, PData& dt )
{
if( fmt.type == 's' || fmt.type == 'c' )
{
string str_data;
std::string str_data;
if( dt.end_sub > 0 && ( aObj[dt.data]->GetType() >= 0 ) )
{ // substring only for string type
str_data = aObj[dt.data]->GetString( ind, dt.index_j );
Expand Down
21 changes: 10 additions & 11 deletions GUI/Dataman/t_print.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
#ifndef _t_print_h_
#define _t_print_h_

#include <vector>
#include "v_ipnc.h"

// Format: % [flags] [width] [.prec] type_char
Expand All @@ -34,18 +33,18 @@ struct PFormat
{
char type;
char long_;
string fmt;
std::string fmt;

PFormat( const char aType, string aFmt ):
PFormat( const char aType, std::string aFmt ):
type( aType), long_(' '), fmt(aFmt)
{}

string FmtOut()
std::string FmtOut()
{
string res = fmt;
std::string res = fmt;
if( long_ == 'l' && type != 's')
res += "l";
res += string( 1, type);
res += std::string( 1, type);
return res;
}

Expand Down Expand Up @@ -78,7 +77,7 @@ struct PData
int end_sub; // end substring or

// object line for line type
string line;
std::string line;

PData( int _data, int _i, int _j,
int bg_, int end_, bool _all, bool _label):
Expand All @@ -96,15 +95,15 @@ struct PData

class TPrintData // print resalts of module calc
{
string key_format; // key of SDref record
std::string key_format; // key of SDref record
unsigned int nRT; // module number

char *input; // current position
std::vector<PFormat> aFmts; // list of formats
std::vector<PData> aDts; // list of datas

bool ifcond;
string cond; // Text with IPN-expression << prn=: cond; >>
std::string cond; // Text with IPN-expression << prn=: cond; >>
// ii - index of line in expression
IPNCalc rpn; // IPN of equats of print condition
int prr; // internal
Expand All @@ -115,13 +114,13 @@ class TPrintData // print resalts of module calc
bool getFormat( const char * aFmt );
int getToken( int& ii, int& jj );
void getData();
void prnData( fstream& fout, int ind, PFormat& fmt, PData& dt );
void prnData( std::fstream& fout, int ind, PFormat& fmt, PData& dt );
void skipSpace();


public:

TPrintData(const char *sd_key, unsigned int nrt, fstream& fout, const char *fmt_text );
TPrintData(const char *sd_key, unsigned int nrt, std::fstream& fout, const char *fmt_text );
~TPrintData();

};
Expand Down
43 changes: 19 additions & 24 deletions GUI/Dataman/t_read.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,8 @@
// E-mail gems2.support@psi.ch
//-------------------------------------------------------------------

#include <cstdio>
#include "t_read.h"
#include "v_object.h"
#include "v_dbm.h"
#include "v_user.h"
#include "service.h"


TReadData::TReadData(const char *sd_key, unsigned int nrt, const char *fmt_text ):
key_format( sd_key ), nRT(nrt)
Expand Down Expand Up @@ -56,7 +51,7 @@ TReadData::TReadData(const char *sd_key, unsigned int nrt, const char *fmt_text
pose = strchr( pose+1, '#');
}
if( !pose )
{ string str_err = "Invalid condition: \n";
{ std::string str_err = "Invalid condition: \n";
str_err += input;
Error( key_format, str_err );
}
Expand Down Expand Up @@ -93,7 +88,7 @@ TReadData::getFormat()
while( isdigit(input[i]))
i++;
if( input[i] != 's' )
{ string str_err = "Invalid format (must be '%nns'): \n";
{ std::string str_err = "Invalid format (must be '%nns'): \n";
str_err += input;
Error( key_format, str_err );
}
Expand All @@ -112,7 +107,7 @@ TReadData::getFormat()
input+=4;
} else
{
string str_err = "Invalid format (must be IREC): \n";
std::string str_err = "Invalid format (must be IREC): \n";
str_err += input;
Error( key_format, str_err );
}
Expand All @@ -123,7 +118,7 @@ TReadData::getFormat()
aFmts.push_back( RFormat( empty_r, 0, S_EMPTY ));
input+=5;
} else
{ string str_err = "Invalid format (must be EMPTY): \n";
{ std::string str_err = "Invalid format (must be EMPTY): \n";
str_err += input;
Error( key_format, str_err );
}
Expand All @@ -136,10 +131,10 @@ TReadData::getFormat()
input[i] != '[' && input[i] != '\0'&&
input[i] != '\n')
i++;
string str = char_array_to_string( input, i );
std::string str = char_array_to_string( input, i );
int data = aObj.Find( str.c_str() );
if( data == -1 )
{ string str_err = "Invalid object name: \n";
{ std::string str_err = "Invalid object name: \n";
str_err += str;
Error( key_format, str_err );
}
Expand Down Expand Up @@ -169,7 +164,7 @@ TReadData::getFormat()
}
skipSpace();
if( *input != ']')
{ string str_err = "Invalid format (left ']'): \n";
{ std::string str_err = "Invalid format (left ']'): \n";
str_err += input;
Error( key_format, str_err );
}
Expand All @@ -182,7 +177,7 @@ TReadData::getFormat()
input++;
char* pose = strchr( input, '\"');
if( !pose )
{ string str_err = "Invalid string ( left simbol '\"'): \n";
{ std::string str_err = "Invalid string ( left simbol '\"'): \n";
str_err += input;
Error( key_format, str_err );
}
Expand All @@ -191,7 +186,7 @@ TReadData::getFormat()
}
break;
default:
{ string str_err = "Invalid format: \n";
{ std::string str_err = "Invalid format: \n";
str_err += input;
Error( key_format, str_err );
}
Expand Down Expand Up @@ -223,15 +218,15 @@ void
TReadData::getData( bool isList )
{
int i, data;
string str;
std::string str;
uint ii=0, jj=0;

if( isList )
ii = jj = 1;

if( *input != '#') // special world
{
string str_err = "Must be #: \n";
std::string str_err = "Must be #: \n";
str_err += input;
Error( key_format, str_err );
}
Expand All @@ -248,7 +243,7 @@ TReadData::getData( bool isList )
data = skip_s;
else data = aObj.Find( str.c_str() );
if( data == -1 )
{ string str_err = "Invalid object name: \n";
{ std::string str_err = "Invalid object name: \n";
str_err += str;
Error( key_format, str_err );
}
Expand Down Expand Up @@ -276,7 +271,7 @@ TReadData::getData( bool isList )
}
skipSpace();
if( *input != ']')
{ string str_err = "Invalid format: \n";
{ std::string str_err = "Invalid format: \n";
str_err += input;
Error( key_format, str_err );
}
Expand All @@ -289,10 +284,10 @@ TReadData::getData( bool isList )


void
TReadData::readData( fstream& fin, RFormat& fmt, RData& dt )
TReadData::readData( std::fstream& fin, RFormat& fmt, RData& dt )
{
char strbuf[500];
string dat_str;
std::string dat_str;


switch( fmt.type )
Expand All @@ -302,15 +297,15 @@ TReadData::readData( fstream& fin, RFormat& fmt, RData& dt )
fin.read( strbuf, fmt.size );
else
fin >> strbuf;
dat_str = string(strbuf);
dat_str = std::string(strbuf);
break;
case empty_r:
case string_r:
dat_str = fmt.fmt;
break;
case irec_r:
sprintf( strbuf, "%d", fmt.size );
dat_str = string(strbuf);
dat_str = std::string(strbuf);
break;
case object_r:
dat_str = aObj[fmt.size]->GetStringEmpty( fmt.i, fmt.j );
Expand All @@ -322,15 +317,15 @@ TReadData::readData( fstream& fin, RFormat& fmt, RData& dt )
{
memset( rt[nRT]->FldKey( dt.i ), ' ', rt[nRT]->FldLen( dt.i ));
strncpy( rt[nRT]->FldKey( dt.i ), dat_str.c_str(),
min( static_cast<size_t>(rt[nRT]->FldLen( dt.i )), dat_str.length() ));
std::min( static_cast<size_t>(rt[nRT]->FldLen( dt.i )), dat_str.length() ));
}
}
else if( dt.objNum > 0 )
aObj[dt.objNum]->SetString( dat_str.c_str(), dt.i, dt.j );

}

void TReadData::readRecord( int n_itr, fstream& fread )
void TReadData::readRecord( int n_itr, std::fstream& fread )
{

for(size_t ii=0; ii<aList.size(); ii++)
Expand Down
Loading
Loading