<?php

/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.36
 * 
 * This file is not intended to be easily readable and contains a number of 
 * coding conventions designed to improve portability and efficiency. Do not make
 * changes to this file unless you know what you are doing--modify the SWIG 
 * interface file instead. 
 * ----------------------------------------------------------------------------- */

// Try to load our extension if it's not already loaded.
if (!extension_loaded("gv")) {
  if (strtolower(substr(PHP_OS, 0, 3)) === 'win') {
    if (!dl('php_gv.dll')) return;
  } else {
    // PHP_SHLIB_SUFFIX is available as of PHP 4.3.0, for older PHP assume 'so'.
    // It gives 'dylib' on MacOS X which is for libraries, modules are 'so'.
    if (PHP_SHLIB_SUFFIX === 'PHP_SHLIB_SUFFIX' || PHP_SHLIB_SUFFIX === 'dylib') {
      if (!dl('gv.so')) return;
    } else {
      if (!dl('gv.'.PHP_SHLIB_SUFFIX)) return;
    }
  }
}



abstract class gv {
	static function digraph($name) {
		return digraph($name);
	}

	static function strictgraph($name) {
		return strictgraph($name);
	}

	static function strictdigraph($name) {
		return strictdigraph($name);
	}

	static function readstring($string) {
		return readstring($string);
	}

	static function read($filename_or_f) {
		return read($filename_or_f);
	}

	static function graph($name_or_g,$name=null) {
		switch (func_num_args()) {
		case 1: $r=graph($name_or_g); break;
		default: $r=graph($name_or_g,$name);
		}
		return $r;
	}

	static function node($g,$name) {
		return node($g,$name);
	}

	static function edge($t_or_tname_or_g,$h_or_hname_or_tname,$hname=null) {
		switch (func_num_args()) {
		case 2: $r=edge($t_or_tname_or_g,$h_or_hname_or_tname); break;
		default: $r=edge($t_or_tname_or_g,$h_or_hname_or_tname,$hname);
		}
		return $r;
	}

	static function setv($g_or_n_or_e,$attr_or_a,$val) {
		return setv($g_or_n_or_e,$attr_or_a,$val);
	}

	static function getv($g_or_n_or_e,$attr_or_a) {
		return getv($g_or_n_or_e,$attr_or_a);
	}

	static function nameof($g_or_n_or_a) {
		return nameof($g_or_n_or_a);
	}

	static function findsubg($g,$name) {
		return findsubg($g,$name);
	}

	static function findnode($g,$name) {
		return findnode($g,$name);
	}

	static function findedge($t,$h) {
		return findedge($t,$h);
	}

	static function findattr($g_or_n_or_e,$name) {
		return findattr($g_or_n_or_e,$name);
	}

	static function headof($e) {
		return headof($e);
	}

	static function tailof($e) {
		return tailof($e);
	}

	static function graphof($g_or_e_or_n) {
		return graphof($g_or_e_or_n);
	}

	static function rootof($g) {
		return rootof($g);
	}

	static function protonode($g) {
		return protonode($g);
	}

	static function protoedge($g) {
		return protoedge($g);
	}

	static function ok($g_or_n_or_e_or_a) {
		return ok($g_or_n_or_e_or_a);
	}

	static function firstsubg($g) {
		return firstsubg($g);
	}

	static function nextsubg($g,$sg) {
		return nextsubg($g,$sg);
	}

	static function firstsupg($g) {
		return firstsupg($g);
	}

	static function nextsupg($g,$sg) {
		return nextsupg($g,$sg);
	}

	static function firstedge($g_or_n) {
		return firstedge($g_or_n);
	}

	static function nextedge($g_or_n,$e) {
		return nextedge($g_or_n,$e);
	}

	static function firstout($g_or_n) {
		return firstout($g_or_n);
	}

	static function nextout($g_or_n,$e) {
		return nextout($g_or_n,$e);
	}

	static function firsthead($n) {
		return firsthead($n);
	}

	static function nexthead($n,$h) {
		return nexthead($n,$h);
	}

	static function firstin($g_or_n) {
		return firstin($g_or_n);
	}

	static function nextin($n_or_g,$e) {
		return nextin($n_or_g,$e);
	}

	static function firsttail($n) {
		return firsttail($n);
	}

	static function nexttail($n,$t) {
		return nexttail($n,$t);
	}

	static function firstnode($g_or_e) {
		return firstnode($g_or_e);
	}

	static function nextnode($g_or_e,$n) {
		return nextnode($g_or_e,$n);
	}

	static function firstattr($g_or_e_or_n) {
		return firstattr($g_or_e_or_n);
	}

	static function nextattr($g_or_e_or_n,$a) {
		return nextattr($g_or_e_or_n,$a);
	}

	static function rm($g_or_n_or_e) {
		return rm($g_or_n_or_e);
	}

	static function layout($g,$engine) {
		return layout($g,$engine);
	}

	static function render($g,$format=null,$filename_or_f=null) {
		switch (func_num_args()) {
		case 1: $r=render($g); break;
		case 2: $r=render($g,$format); break;
		default: $r=render($g,$format,$filename_or_f);
		}
		return $r;
	}

	static function renderdata($g,$format) {
		return renderdata($g,$format);
	}

	static function write($g,$filename_or_f) {
		return write($g,$filename_or_f);
	}
}

/* PHP Proxy Classes */

?>
