r550: Remove clientfns.pm module - it was a bad idea.
authorTim Potter <tpot@samba.org>
Fri, 7 May 2004 11:57:31 +0000 (11:57 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:51:47 +0000 (12:51 -0500)
Start to resurrect eparser.pm for auto-generating ethereal dissectors
for rpc.

source/build/pidl/clientfns.pm [deleted file]
source/build/pidl/eparser.pm
source/build/pidl/pidl.pl

diff --git a/source/build/pidl/clientfns.pm b/source/build/pidl/clientfns.pm
deleted file mode 100644 (file)
index ef107b1..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-###################################################
-# clientfs boilerplate generator
-# Copyright tpot@samba.org 2004
-# released under the GNU GPL
-
-package IdlClientFns;
-
-use strict;
-
-my($res);
-
-sub pidl($)
-{
-       $res .= shift;
-}
-
-#use Data::Dumper;
-
-#####################################################################
-# produce boilerplate code for a interface
-sub Boilerplate_ClientFns($)
-{
-       my($interface) = shift;
-       my($data) = $interface->{DATA};
-       my $name = $interface->{NAME};
-
-       foreach my $d (@{$data}) {
-               if ($d->{TYPE} eq "FUNCTION") {
-
-                   pidl "/*\n";
-#                  pidl Dumper($d);
-                   pidl "\n*/\n\n";
-
-                   pidl "$d->{RETURN_TYPE} $d->{NAME}(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx";
-                   
-                   my $count = 0, my $i = 0;
-
-                   foreach my $a (@{$d->{DATA}}) {
-                       $count++;
-                   }
-
-                   pidl ", ", if $count > 0;
-                   
-                   foreach my $a (@{$d->{DATA}}) {
-
-                       pidl "/* [";
-                       if ($a->{PROPERTIES}->{in}) {
-                           pidl "in";
-                           if ($a->{PROPERTIES}->{out} or
-                               $a->{PROPERTIES}->{ref}) {
-                               pidl ",";
-                           }
-                       }
-                       if ($a->{PROPERTIES}->{out}) {
-                           pidl "out";
-                           if ($a->{PROPERTIES}->{ref}) {
-                               pidl ",";
-                           }
-                       }
-                       if ($a->{PROPERTIES}->{ref}) {
-                           pidl "ref";
-                       }
-                       pidl "] */ ";
-
-                       pidl "struct ", if $a->{TYPE} eq "policy_handle";
-
-                       pidl "$a->{TYPE} ";
-                       if ($a->{PROPERTIES}->{out}) {
-                           pidl "*";
-                       }
-
-                       if (!$a->{PROPERTIES}->{ref}) {
-                           pidl "*", if $a->{POINTERS};
-                       }
-
-                       pidl "$a->{NAME}";
-                       
-                       $i++;
-
-                       pidl ", ", if $i < $count;
-                   }
-                   pidl ")\n";
-                   pidl "{\n";
-
-                   pidl "\tstruct $d->{NAME} r;\n";
-                   pidl "\tNTSTATUS status;\n";
-                   pidl "\n";
-
-                   foreach $a (@{$d->{DATA}}) {
-                       if ($a->{PROPERTIES}->{in}) {
-                           pidl "\tr.in.$a->{NAME} = $a->{NAME};\n";
-                       }
-                       if ($a->{PROPERTIES}->{out}) {
-                           pidl "\tr.out.$a->{NAME} = $a->{NAME};\n";
-                       }
-                   }               
-                   pidl "\n";
-
-                   pidl "\tstatus = dcerpc_$d->{NAME}(p, mem_ctx, &r);\n";
-                   pidl "\n";
-
-                   pidl "\treturn NT_STATUS_OK;\n";
-
-                   pidl "}\n\n";
-               }
-       }
-}
-
-#####################################################################
-# parse a parsed IDL structure back into an IDL file
-sub Parse($)
-{
-       my($idl) = shift;
-       $res = "/* dcerpc client functions generated by pidl */\n\n";
-
-       $res .= "#include \"includes.h\"\n\n";
-
-       foreach my $x (@{$idl}) {
-               if ($x->{TYPE} eq "INTERFACE") { 
-                       Boilerplate_ClientFns($x);
-               }
-       }
-
-       return $res;
-}
-
-1;
index ba1a691ee594797c07d79cbdc17db9857bf42447..90af3c8665c1ce3562704dfa4fb6226b4ff92e4e 100644 (file)
@@ -4,7 +4,7 @@
 # Copyright tridge@samba.org 2000
 # released under the GNU GPL
 
-package eparser;
+package IdlEParser;
 
 use strict;
 
index b390ba77289279d8f9427d938463de472d0ca182..022dc393d5f82de0506583d517b2c47b363bc454 100755 (executable)
@@ -17,7 +17,6 @@ use idl;
 use dump;
 use header;
 use server;
-use clientfns;
 use parser;
 use eparser;
 use validator;
@@ -32,7 +31,6 @@ my($opt_header) = 0;
 my($opt_template) = 0;
 my($opt_server) = 0;
 my($opt_parser) = 0;
-my($opt_clientfns) = 0;
 my($opt_eparser) = 0;
 my($opt_keep) = 0;
 my($opt_output);
@@ -86,7 +84,6 @@ GetOptions (
            'server' => \$opt_server,
            'template' => \$opt_template,
            'parser' => \$opt_parser,
-           'clientfns' => \$opt_clientfns,
            'eparser' => \$opt_eparser,
            'diff' => \$opt_diff,
            'keep' => \$opt_keep
@@ -146,13 +143,8 @@ sub process_file($)
                IdlParser::Parse($pidl, $parser);
        }
        
-       if ($opt_clientfns) {
-               my($clientfns) = util::ChangeExtension($output, "_c.c");
-               util::FileSave($clientfns, IdlClientFns::Parse($pidl));
-       }
-
        if ($opt_eparser) {
-               my($parser) = util::ChangeExtension($output, ".c");
+               my($parser) = util::ChangeExtension($output, "_ethereal.c");
                util::FileSave($parser, IdlEParser::Parse($pidl));
        }