summaryrefslogtreecommitdiff
path: root/lib/server/makeprotocol.pl.in
diff options
context:
space:
mode:
Diffstat (limited to 'lib/server/makeprotocol.pl.in')
-rwxr-xr-xlib/server/makeprotocol.pl.in789
1 files changed, 0 insertions, 789 deletions
diff --git a/lib/server/makeprotocol.pl.in b/lib/server/makeprotocol.pl.in
index 9caa970d..a074b435 100755
--- a/lib/server/makeprotocol.pl.in
+++ b/lib/server/makeprotocol.pl.in
@@ -30,26 +30,6 @@ my %log_display_types =
'string' => ['%s', 'VAR.c_str()']
);
-<<<<<<< HEAD
-
-
-my ($type, $file) = @ARGV;
-
-if($type ne 'Server' && $type ne 'Client')
-{
- die "Neither Server or Client is specified on command line\n";
-}
-
-open IN, $file or die "Can't open input file $file\n";
-
-print "Making $type protocol classes from $file...\n";
-
-my @extra_header_files;
-
-my $implement_syslog = 0;
-my $implement_filelog = 0;
-
-=======
if (@ARGV != 1)
{
die "Usage: $0 <protocol-txt-file>\n";
@@ -63,7 +43,6 @@ print "Making protocol classes from $file...\n";
my @extra_header_files;
->>>>>>> 0.12
# read attributes
my %attr;
while(<IN>)
@@ -75,43 +54,6 @@ while(<IN>)
my ($k,$v) = split /\s+/,$l,2;
-<<<<<<< HEAD
- if($k eq 'ClientType')
- {
- add_type($v) if $type eq 'Client';
- }
- elsif($k eq 'ServerType')
- {
- add_type($v) if $type eq 'Server';
- }
- elsif($k eq 'ImplementLog')
- {
- my ($log_if_type,$log_type) = split /\s+/,$v;
- if($type eq $log_if_type)
- {
- if($log_type eq 'syslog')
- {
- $implement_syslog = 1;
- }
- elsif($log_type eq 'file')
- {
- $implement_filelog = 1;
- }
- else
- {
- printf("ERROR: Unknown log type for implementation: $log_type\n");
- exit(1);
- }
- }
- }
- elsif($k eq 'LogTypeToText')
- {
- my ($log_if_type,$type_name,$printf_format,$arg_template) = split /\s+/,$v;
- if($type eq $log_if_type)
- {
- $log_display_types{$type_name} = [$printf_format,$arg_template]
- }
-=======
if($k eq 'AddType')
{
add_type($v);
@@ -124,7 +66,6 @@ while(<IN>)
{
my ($type_name,$printf_format,$arg_template) = split /\s+/,$v;
$log_display_types{$type_name} = [$printf_format,$arg_template]
->>>>>>> 0.12
}
else
{
@@ -200,11 +141,6 @@ close IN;
# open files
-<<<<<<< HEAD
-my $h_filename = 'autogen_'.$protocol_name.'Protocol'.$type.'.h';
-open CPP,'>autogen_'.$protocol_name.'Protocol'.$type.'.cpp';
-open H,">$h_filename";
-=======
my $filename_base = 'autogen_'.$protocol_name.'Protocol';
print "Writing $filename_base.cpp\n";
print "Writing $filename_base.h\n";
@@ -212,7 +148,6 @@ open CPP, "> $filename_base.cpp";
open H, "> $filename_base.h";
my $guardname = uc 'AUTOGEN_'.$protocol_name.'Protocol_H';
->>>>>>> 0.12
print CPP <<__E;
@@ -222,41 +157,16 @@ print CPP <<__E;
#include <sstream>
-<<<<<<< HEAD
-#include "$h_filename"
-#include "IOStream.h"
-
-__E
-
-if($implement_syslog)
-{
- print H <<EOF;
-#ifndef WIN32
-#include <syslog.h>
-#endif
-EOF
-}
-
-
-my $guardname = uc 'AUTOGEN_'.$protocol_name.'Protocol'.$type.'_H';
-print H <<__E;
-
-=======
#include "$filename_base.h"
#include "IOStream.h"
__E
print H <<__E;
->>>>>>> 0.12
// Auto-generated file -- do not edit
#ifndef $guardname
#define $guardname
-<<<<<<< HEAD
-#include "Protocol.h"
-#include "ProtocolObject.h"
-=======
#include <cstdio>
#include <list>
@@ -266,128 +176,16 @@ print H <<__E;
#include "Protocol.h"
#include "Message.h"
->>>>>>> 0.12
#include "ServerException.h"
class IOStream;
-<<<<<<< HEAD
-__E
-
-if($implement_filelog)
-{
- print H qq~#include <stdio.h>\n~;
-}
-=======
__E
->>>>>>> 0.12
# extra headers
for(@extra_header_files)
{
-<<<<<<< HEAD
- print H qq~#include "$_"\n~
-}
-print H "\n";
-
-if($type eq 'Server')
-{
- # need utils file for the server
- print H '#include "Utils.h"',"\n\n"
-}
-
-
-my $derive_objects_from = 'ProtocolObject';
-my $objects_extra_h = '';
-my $objects_extra_cpp = '';
-if($type eq 'Server')
-{
- # define the context
- print H "class $context_class;\n\n";
- print CPP "#include \"$context_class_inc\"\n\n";
-
- # change class we derive the objects from
- $derive_objects_from = $protocol_name.'ProtocolObject';
-
- $objects_extra_h = <<__E;
- virtual std::auto_ptr<ProtocolObject> DoCommand(${protocol_name}ProtocolServer &rProtocol, $context_class &rContext);
-__E
- $objects_extra_cpp = <<__E;
-std::auto_ptr<ProtocolObject> ${derive_objects_from}::DoCommand(${protocol_name}ProtocolServer &rProtocol, $context_class &rContext)
-{
- THROW_EXCEPTION(ConnectionException, Conn_Protocol_TriedToExecuteReplyCommand)
-}
-__E
-}
-
-print CPP qq~#include "MemLeakFindOn.h"\n~;
-
-if($type eq 'Client' && ($implement_syslog || $implement_filelog))
-{
- # change class we derive the objects from
- $derive_objects_from = $protocol_name.'ProtocolObjectCl';
-}
-if($implement_syslog)
-{
- $objects_extra_h .= <<__E;
- virtual void LogSysLog(const char *Action) const = 0;
-__E
-}
-if($implement_filelog)
-{
- $objects_extra_h .= <<__E;
- virtual void LogFile(const char *Action, FILE *file) const = 0;
-__E
-}
-
-if($derive_objects_from ne 'ProtocolObject')
-{
- # output a definition for the protocol object derived class
- print H <<__E;
-class ${protocol_name}ProtocolServer;
-
-class $derive_objects_from : public ProtocolObject
-{
-public:
- $derive_objects_from();
- virtual ~$derive_objects_from();
- $derive_objects_from(const $derive_objects_from &rToCopy);
-
-$objects_extra_h
-};
-__E
-
- # and some cpp definitions
- print CPP <<__E;
-${derive_objects_from}::${derive_objects_from}()
-{
-}
-${derive_objects_from}::~${derive_objects_from}()
-{
-}
-${derive_objects_from}::${derive_objects_from}(const $derive_objects_from &rToCopy)
-{
-}
-$objects_extra_cpp
-__E
-}
-
-
-
-my $classname_base = $protocol_name.'Protocol'.$type;
-
-# output the classes
-for my $cmd (@cmd_list)
-{
- print H <<__E;
-class $classname_base$cmd : public $derive_objects_from
-{
-public:
- $classname_base$cmd();
- $classname_base$cmd(const $classname_base$cmd &rToCopy);
- ~$classname_base$cmd();
-=======
print H qq@#include "$_"\n@;
}
@@ -473,17 +271,13 @@ public:
$cmd_class();
$cmd_class(const $cmd_class &rToCopy);
~$cmd_class();
->>>>>>> 0.12
int GetType() const;
enum
{
TypeID = $cmd_id{$cmd}
};
__E
-<<<<<<< HEAD
-=======
->>>>>>> 0.12
# constants
if(exists $cmd_constants{$cmd})
{
@@ -491,82 +285,18 @@ __E
print H join(",\n\t\t",@{$cmd_constants{$cmd}});
print H "\n\t};\n";
}
-<<<<<<< HEAD
-=======
->>>>>>> 0.12
# flags
if(obj_is_type($cmd,'EndsConversation'))
{
print H "\tbool IsConversationEnd() const;\n";
}
-<<<<<<< HEAD
-=======
->>>>>>> 0.12
if(obj_is_type($cmd,'IsError'))
{
print H "\tbool IsError(int &rTypeOut, int &rSubTypeOut) const;\n";
print H "\tstd::string GetMessage() const;\n";
}
-<<<<<<< HEAD
- if($type eq 'Server' && obj_is_type($cmd, 'Command'))
- {
- print H "\tstd::auto_ptr<ProtocolObject> DoCommand(${protocol_name}ProtocolServer &rProtocol, $context_class &rContext); // IMPLEMENT THIS\n"
- }
-
- # want to be able to read from streams?
- my $read_from_streams = (obj_is_type($cmd,'Command') && $type eq 'Server') || (obj_is_type($cmd,'Reply') && $type eq 'Client');
- my $write_to_streams = (obj_is_type($cmd,'Command') && $type eq 'Client') || (obj_is_type($cmd,'Reply') && $type eq 'Server');
-
- if($read_from_streams)
- {
- print H "\tvoid SetPropertiesFromStreamData(Protocol &rProtocol);\n";
-
- # write Get functions
- for(my $x = 0; $x < $#{$cmd_contents{$cmd}}; $x+=2)
- {
- my ($ty,$nm) = (${$cmd_contents{$cmd}}[$x], ${$cmd_contents{$cmd}}[$x+1]);
-
- print H "\t".translate_type_to_arg_type($ty)." Get$nm() {return m$nm;}\n";
- }
- }
- my $param_con_args = '';
- if($write_to_streams)
- {
- # extra constructor?
- if($#{$cmd_contents{$cmd}} >= 0)
- {
- my @a;
- for(my $x = 0; $x < $#{$cmd_contents{$cmd}}; $x+=2)
- {
- my ($ty,$nm) = (${$cmd_contents{$cmd}}[$x], ${$cmd_contents{$cmd}}[$x+1]);
-
- push @a,translate_type_to_arg_type($ty)." $nm";
- }
- $param_con_args = join(', ',@a);
- print H "\t$classname_base$cmd(".$param_con_args.");\n";
- }
- print H "\tvoid WritePropertiesToStreamData(Protocol &rProtocol) const;\n";
- # set functions
- for(my $x = 0; $x < $#{$cmd_contents{$cmd}}; $x+=2)
- {
- my ($ty,$nm) = (${$cmd_contents{$cmd}}[$x], ${$cmd_contents{$cmd}}[$x+1]);
-
- print H "\tvoid Set$nm(".translate_type_to_arg_type($ty)." $nm) {m$nm = $nm;}\n";
- }
- }
-
- if($implement_syslog)
- {
- print H "\tvirtual void LogSysLog(const char *Action) const;\n";
- }
- if($implement_filelog)
- {
- print H "\tvirtual void LogFile(const char *Action, FILE *file) const;\n";
- }
-
-=======
if(obj_is_type($cmd, 'Command'))
{
@@ -613,7 +343,6 @@ __E
print H "\tvirtual void LogSysLog(const char *Action) const;\n";
print H "\tvirtual void LogFile(const char *Action, FILE *file) const;\n";
print H "\tvirtual std::string ToString() const;\n";
->>>>>>> 0.12
# write member variables and setup for cpp file
my @def_constructor_list;
@@ -647,20 +376,6 @@ __E
my $param_con_vars = join(",\n\t ",@param_constructor_list);
$param_con_vars = "\n\t: ".$param_con_vars if $param_con_vars ne '';
-<<<<<<< HEAD
- my $class = "$classname_base$cmd".'::';
- print CPP <<__E;
-$class$classname_base$cmd()$def_con_vars
-{
-}
-$class$classname_base$cmd(const $classname_base$cmd &rToCopy)$copy_con_vars
-{
-}
-$class~$classname_base$cmd()
-{
-}
-int ${class}GetType() const
-=======
print CPP <<__E;
$cmd_class\::$cmd_class()$def_con_vars
{
@@ -672,56 +387,10 @@ $cmd_class\::~$cmd_class()
{
}
int $cmd_class\::GetType() const
->>>>>>> 0.12
{
return $cmd_id{$cmd};
}
__E
-<<<<<<< HEAD
- if($read_from_streams)
- {
- print CPP "void ${class}SetPropertiesFromStreamData(Protocol &rProtocol)\n{\n";
- for(my $x = 0; $x < $#{$cmd_contents{$cmd}}; $x+=2)
- {
- my ($ty,$nm) = (${$cmd_contents{$cmd}}[$x], ${$cmd_contents{$cmd}}[$x+1]);
- if($ty =~ m/\Avector/)
- {
- print CPP "\trProtocol.ReadVector(m$nm);\n";
- }
- else
- {
- print CPP "\trProtocol.Read(m$nm);\n";
- }
- }
- print CPP "}\n";
- }
- if($write_to_streams)
- {
- # implement extra constructor?
- if($param_con_vars ne '')
- {
- print CPP "$class$classname_base$cmd($param_con_args)$param_con_vars\n{\n}\n";
- }
- print CPP "void ${class}WritePropertiesToStreamData(Protocol &rProtocol) const\n{\n";
- for(my $x = 0; $x < $#{$cmd_contents{$cmd}}; $x+=2)
- {
- my ($ty,$nm) = (${$cmd_contents{$cmd}}[$x], ${$cmd_contents{$cmd}}[$x+1]);
- if($ty =~ m/\Avector/)
- {
- print CPP "\trProtocol.WriteVector(m$nm);\n";
- }
- else
- {
- print CPP "\trProtocol.Write(m$nm);\n";
- }
- }
- print CPP "}\n";
- }
- if(obj_is_type($cmd,'EndsConversation'))
- {
- print CPP "bool ${class}IsConversationEnd() const\n{\n\treturn true;\n}\n";
- }
-=======
print CPP "void $cmd_class\::SetPropertiesFromStreamData(Protocol &rProtocol)\n{\n";
for(my $x = 0; $x < $#{$cmd_contents{$cmd}}; $x+=2)
{
@@ -762,27 +431,18 @@ __E
print CPP "bool $cmd_class\::IsConversationEnd() const\n{\n\treturn true;\n}\n";
}
->>>>>>> 0.12
if(obj_is_type($cmd,'IsError'))
{
# get parameters
my ($mem_type,$mem_subtype) = split /,/,obj_get_type_params($cmd,'IsError');
print CPP <<__E;
-<<<<<<< HEAD
-bool ${class}IsError(int &rTypeOut, int &rSubTypeOut) const
-=======
bool $cmd_class\::IsError(int &rTypeOut, int &rSubTypeOut) const
->>>>>>> 0.12
{
rTypeOut = m$mem_type;
rSubTypeOut = m$mem_subtype;
return true;
}
-<<<<<<< HEAD
-std::string ${class}GetMessage() const
-=======
std::string $cmd_class\::GetMessage() const
->>>>>>> 0.12
{
switch(m$mem_subtype)
{
@@ -806,149 +466,6 @@ __E
__E
}
-<<<<<<< HEAD
- if($implement_syslog)
- {
- my ($log) = make_log_strings_framework($cmd);
- print CPP <<__E;
-void ${class}LogSysLog(const char *Action) const
-{
- BOX_TRACE($log);
-}
-__E
- }
- if($implement_filelog)
- {
- my ($log) = make_log_strings_framework($cmd);
- print CPP <<__E;
-void ${class}LogFile(const char *Action, FILE *File) const
-{
- std::ostringstream oss;
- oss << $log;
- ::fprintf(File, "%s\\n", oss.str().c_str());
- ::fflush(File);
-}
-__E
- }
-}
-
-# finally, the protocol object itself
-print H <<__E;
-class $classname_base : public Protocol
-{
-public:
- $classname_base(IOStream &rStream);
- virtual ~$classname_base();
-
- std::auto_ptr<$derive_objects_from> Receive();
- void Send(const ${derive_objects_from} &rObject);
-__E
-if($implement_syslog)
-{
- print H "\tvoid SetLogToSysLog(bool Log = false) {mLogToSysLog = Log;}\n";
-}
-if($implement_filelog)
-{
- print H "\tvoid SetLogToFile(FILE *File = 0) {mLogToFile = File;}\n";
-}
-if($type eq 'Server')
-{
- # need to put in the conversation function
- print H "\tvoid DoServer($context_class &rContext);\n\n";
- # and the send vector thing
- print H "\tvoid SendStreamAfterCommand(IOStream *pStream);\n\n";
-}
-if($type eq 'Client')
-{
- # add plain object taking query functions
- my $with_params;
- for my $cmd (@cmd_list)
- {
- if(obj_is_type($cmd,'Command'))
- {
- my $has_stream = obj_is_type($cmd,'StreamWithCommand');
- my $argextra = $has_stream?', IOStream &rStream':'';
- my $queryextra = $has_stream?', rStream':'';
- my $reply = obj_get_type_params($cmd,'Command');
- print H "\tstd::auto_ptr<$classname_base$reply> Query(const $classname_base$cmd &rQuery$argextra);\n";
- my @a;
- my @na;
- for(my $x = 0; $x < $#{$cmd_contents{$cmd}}; $x+=2)
- {
- my ($ty,$nm) = (${$cmd_contents{$cmd}}[$x], ${$cmd_contents{$cmd}}[$x+1]);
- push @a,translate_type_to_arg_type($ty)." $nm";
- push @na,"$nm";
- }
- my $ar = join(', ',@a);
- my $nar = join(', ',@na);
- $nar = "($nar)" if $nar ne '';
-
- $with_params .= "\tinline std::auto_ptr<$classname_base$reply> Query$cmd($ar$argextra)\n\t{\n";
- $with_params .= "\t\t$classname_base$cmd send$nar;\n";
- $with_params .= "\t\treturn Query(send$queryextra);\n";
- $with_params .= "\t}\n";
- }
- }
- # quick hack to correct bad argument lists for commands with zero paramters but with streams
- $with_params =~ s/\(, /(/g;
- print H "\n",$with_params,"\n";
-}
-print H <<__E;
-private:
- $classname_base(const $classname_base &rToCopy);
-__E
-if($type eq 'Server')
-{
- # need to put the streams to send vector
- print H "\tstd::vector<IOStream*> mStreamsToSend;\n\tvoid DeleteStreamsToSend();\n";
-}
-
-if($implement_filelog || $implement_syslog)
-{
- print H <<__E;
- virtual void InformStreamReceiving(u_int32_t Size);
- virtual void InformStreamSending(u_int32_t Size);
-__E
-}
-
-if($implement_syslog)
-{
- print H "private:\n\tbool mLogToSysLog;\n";
-}
-if($implement_filelog)
-{
- print H "private:\n\tFILE *mLogToFile;\n";
-}
-print H <<__E;
-
-protected:
- virtual std::auto_ptr<ProtocolObject> MakeProtocolObject(int ObjType);
- virtual const char *GetIdentString();
-};
-
-__E
-
-my $constructor_extra = '';
-$constructor_extra .= ', mLogToSysLog(false)' if $implement_syslog;
-$constructor_extra .= ', mLogToFile(0)' if $implement_filelog;
-
-my $destructor_extra = ($type eq 'Server')?"\n\tDeleteStreamsToSend();":'';
-
-my $prefix = $classname_base.'::';
-print CPP <<__E;
-$prefix$classname_base(IOStream &rStream)
- : Protocol(rStream)$constructor_extra
-{
-}
-$prefix~$classname_base()
-{$destructor_extra
-}
-const char *${prefix}GetIdentString()
-{
- return "$ident_string";
-}
-std::auto_ptr<ProtocolObject> ${prefix}MakeProtocolObject(int ObjType)
-=======
my ($log) = make_log_strings_framework($cmd);
print CPP <<__E;
std::string $cmd_class\::ToString() const
@@ -1388,25 +905,11 @@ __E
# write receive and send functions
print CPP <<__E;
std::auto_ptr<Message> $server_or_client_class\::MakeMessage(int ObjType)
->>>>>>> 0.12
{
switch(ObjType)
{
__E
-<<<<<<< HEAD
-# do objects within this
-for my $cmd (@cmd_list)
-{
- print CPP <<__E;
- case $cmd_id{$cmd}:
- return std::auto_ptr<ProtocolObject>(new $classname_base$cmd);
- break;
-__E
-}
-
-print CPP <<__E;
-=======
# do objects within this
for my $cmd (@cmd_list)
{
@@ -1418,40 +921,11 @@ __E
}
print CPP <<__E;
->>>>>>> 0.12
default:
THROW_EXCEPTION(ConnectionException, Conn_Protocol_UnknownCommandRecieved)
}
}
__E
-<<<<<<< HEAD
-# write receive and send functions
-print CPP <<__E;
-std::auto_ptr<$derive_objects_from> ${prefix}Receive()
-{
- std::auto_ptr<${derive_objects_from}> preply((${derive_objects_from}*)(Protocol::Receive().release()));
-
-__E
- if($implement_syslog)
- {
- print CPP <<__E;
- if(mLogToSysLog)
- {
- preply->LogSysLog("Receive");
- }
-__E
- }
- if($implement_filelog)
- {
- print CPP <<__E;
- if(mLogToFile != 0)
- {
- preply->LogFile("Receive", mLogToFile);
- }
-__E
- }
-print CPP <<__E;
-=======
if(not $writing_local)
{
@@ -1470,45 +944,10 @@ std::auto_ptr<$message_base_class> $server_or_client_class\::Receive()
{
preply->LogFile("Receive", GetLogToFile());
}
->>>>>>> 0.12
return preply;
}
-<<<<<<< HEAD
-void ${prefix}Send(const ${derive_objects_from} &rObject)
-{
-__E
- if($implement_syslog)
- {
- print CPP <<__E;
- if(mLogToSysLog)
- {
- rObject.LogSysLog("Send");
- }
-__E
- }
- if($implement_filelog)
- {
- print CPP <<__E;
- if(mLogToFile != 0)
- {
- rObject.LogFile("Send", mLogToFile);
- }
-__E
- }
-
-print CPP <<__E;
- Protocol::Send(rObject);
-}
-
-__E
-# write server function?
-if($type eq 'Server')
-{
- print CPP <<__E;
-void ${prefix}DoServer($context_class &rContext)
-=======
void $server_or_client_class\::Send(const $message_base_class &rObject)
{
if(GetLogToSysLog())
@@ -1532,7 +971,6 @@ __E
{
print CPP <<__E;
void $server_or_client_class\::DoServer($context_class &rContext)
->>>>>>> 0.12
{
// Handshake with client
Handshake();
@@ -1542,22 +980,6 @@ void $server_or_client_class\::DoServer($context_class &rContext)
while(inProgress)
{
// Get an object from the conversation
-<<<<<<< HEAD
- std::auto_ptr<${derive_objects_from}> pobj(Receive());
-
- // Run the command
- std::auto_ptr<${derive_objects_from}> preply((${derive_objects_from}*)(pobj->DoCommand(*this, rContext).release()));
-
- // Send the reply
- Send(*(preply.get()));
-
- // Send any streams
- for(unsigned int s = 0; s < mStreamsToSend.size(); s++)
- {
- // Send the streams
- SendStream(*mStreamsToSend[s]);
- }
-=======
std::auto_ptr<$message_base_class> pobj = Receive();
// Run the command
@@ -1574,7 +996,6 @@ void $server_or_client_class\::DoServer($context_class &rContext)
SendStream(**i);
}
->>>>>>> 0.12
// Delete these streams
DeleteStreamsToSend();
@@ -1586,122 +1007,6 @@ void $server_or_client_class\::DoServer($context_class &rContext)
}
}
-<<<<<<< HEAD
-void ${prefix}SendStreamAfterCommand(IOStream *pStream)
-{
- ASSERT(pStream != NULL);
- mStreamsToSend.push_back(pStream);
-}
-
-void ${prefix}DeleteStreamsToSend()
-{
- for(std::vector<IOStream*>::iterator i(mStreamsToSend.begin()); i != mStreamsToSend.end(); ++i)
- {
- delete (*i);
- }
- mStreamsToSend.clear();
-}
-
-__E
-}
-
-# write logging functions?
-if($implement_filelog || $implement_syslog)
-{
- my ($fR,$fS);
-
- if($implement_syslog)
- {
- $fR .= <<__E;
- if(mLogToSysLog)
- {
- if(Size==Protocol::ProtocolStream_SizeUncertain)
- {
- BOX_TRACE("Receiving stream, size uncertain");
- }
- else
- {
- BOX_TRACE("Receiving stream, size " << Size);
- }
- }
-__E
-
- $fS .= <<__E;
- if(mLogToSysLog)
- {
- if(Size==Protocol::ProtocolStream_SizeUncertain)
- {
- BOX_TRACE("Sending stream, size uncertain");
- }
- else
- {
- BOX_TRACE("Sending stream, size " << Size);
- }
- }
-__E
- }
-
- if($implement_filelog)
- {
- $fR .= <<__E;
- if(mLogToFile)
- {
- ::fprintf(mLogToFile,
- (Size==Protocol::ProtocolStream_SizeUncertain)
- ?"Receiving stream, size uncertain\\n"
- :"Receiving stream, size %d\\n", Size);
- ::fflush(mLogToFile);
- }
-__E
- $fS .= <<__E;
- if(mLogToFile)
- {
- ::fprintf(mLogToFile,
- (Size==Protocol::ProtocolStream_SizeUncertain)
- ?"Sending stream, size uncertain\\n"
- :"Sending stream, size %d\\n", Size);
- ::fflush(mLogToFile);
- }
-__E
- }
-
- print CPP <<__E;
-
-void ${prefix}InformStreamReceiving(u_int32_t Size)
-{
-$fR}
-
-void ${prefix}InformStreamSending(u_int32_t Size)
-{
-$fS}
-
-__E
-}
-
-
-# write client Query functions?
-if($type eq 'Client')
-{
- for my $cmd (@cmd_list)
- {
- if(obj_is_type($cmd,'Command'))
- {
- my $reply = obj_get_type_params($cmd,'Command');
- my $reply_id = $cmd_id{$reply};
- my $has_stream = obj_is_type($cmd,'StreamWithCommand');
- my $argextra = $has_stream?', IOStream &rStream':'';
- my $send_stream_extra = '';
- if($has_stream)
- {
- $send_stream_extra = <<__E;
-
- // Send stream after the command
- SendStream(rStream);
-__E
- }
- print CPP <<__E;
-std::auto_ptr<$classname_base$reply> ${classname_base}::Query(const $classname_base$cmd &rQuery$argextra)
-=======
__E
}
@@ -1734,44 +1039,10 @@ __E
print CPP <<__E;
std::auto_ptr<$reply_class> $server_or_client_class\::Query(const $request_class &rQuery$argextra)
->>>>>>> 0.12
{
// Send query
Send(rQuery);
$send_stream_extra
-<<<<<<< HEAD
- // Wait for the reply
- std::auto_ptr<${derive_objects_from}> preply(Receive().release());
-
- if(preply->GetType() == $reply_id)
- {
- // Correct response
- return std::auto_ptr<$classname_base$reply>(($classname_base$reply*)preply.release());
- }
- else
- {
- // Set protocol error
- int type, subType;
- if(preply->IsError(type, subType))
- {
- SetError(type, subType);
- BOX_WARNING("$cmd command failed: received error " <<
- ((${classname_base}Error&)*preply).GetMessage());
- }
- else
- {
- SetError(Protocol::UnknownError, Protocol::UnknownError);
- BOX_WARNING("$cmd command failed: received "
- "unexpected response type " <<
- preply->GetType());
- }
-
- // Throw an exception
- THROW_EXCEPTION(ConnectionException, Conn_Protocol_UnexpectedReply)
- }
-}
-__E
-=======
// Wait for the reply
std::auto_ptr<$message_base_class> preply = Receive();
@@ -1808,16 +1079,10 @@ std::auto_ptr<$reply_class> $server_or_client_class\::Query(const $request_class
__E
}
}
->>>>>>> 0.12
}
}
}
-<<<<<<< HEAD
-
-
-=======
->>>>>>> 0.12
print H <<__E;
#endif // $guardname
@@ -1827,12 +1092,7 @@ __E
close H;
close CPP;
-<<<<<<< HEAD
-
-sub obj_is_type
-=======
sub obj_is_type ($$)
->>>>>>> 0.12
{
my ($c,$ty) = @_;
for(@{$cmd_attributes{$c}})
@@ -1886,43 +1146,6 @@ sub translate_type_to_member_type
return $typename
}
-<<<<<<< HEAD
-sub make_log_strings
-{
- my ($cmd) = @_;
-
- my @str;
- my @arg;
- for(my $x = 0; $x < $#{$cmd_contents{$cmd}}; $x+=2)
- {
- my ($ty,$nm) = (${$cmd_contents{$cmd}}[$x], ${$cmd_contents{$cmd}}[$x+1]);
-
- if(exists $log_display_types{$ty})
- {
- # need to translate it
- my ($format,$arg) = @{$log_display_types{$ty}};
- $arg =~ s/VAR/m$nm/g;
-
- if ($format eq "0x%llx" and $target_windows)
- {
- $format = "0x%I64x";
- $arg = "(uint64_t)$arg";
- }
-
- push @str,$format;
- push @arg,$arg;
- }
- else
- {
- # is opaque
- push @str,'OPAQUE';
- }
- }
- return ($cmd.'('.join(',',@str).')', join(',','',@arg));
-}
-
-=======
->>>>>>> 0.12
sub make_log_strings_framework
{
my ($cmd) = @_;
@@ -1939,11 +1162,7 @@ sub make_log_strings_framework
my ($format,$arg) = @{$log_display_types{$ty}};
$arg =~ s/VAR/m$nm/g;
-<<<<<<< HEAD
- if ($format eq '\\"%s\\"')
-=======
if ($format eq '"%s"')
->>>>>>> 0.12
{
$arg = "\"\\\"\" << $arg << \"\\\"\"";
}
@@ -1970,11 +1189,7 @@ sub make_log_strings_framework
}
}
-<<<<<<< HEAD
- my $log_cmd = "Action << \" $cmd(\" ";
-=======
my $log_cmd = '"'.$cmd.'(" ';
->>>>>>> 0.12
foreach my $arg (@args)
{
$arg = "<< $arg ";
@@ -1984,7 +1199,3 @@ sub make_log_strings_framework
return $log_cmd;
}
-<<<<<<< HEAD
-
-=======
->>>>>>> 0.12