Home > classes > @provenance > provenance.m

provenance

PURPOSE ^

PROVENANCE constructors for provenance class.

SYNOPSIS ^

function p = provenance(varargin)

DESCRIPTION ^

 PROVENANCE constructors for provenance class.
 
 usage: p = provenance('creator');
 
 M Hewitson 07-05-07

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function p = provenance(varargin)
0002 
0003 % PROVENANCE constructors for provenance class.
0004 %
0005 % usage: p = provenance('creator');
0006 %
0007 % M Hewitson 07-05-07
0008 %
0009 
0010 ALGONAME = mfilename;
0011 VERSION  = '$Id: provenance.html,v 1.1 2007/06/08 14:15:07 hewitson Exp $';
0012 
0013 if nargin > 0
0014   if ~ischar(varargin{1}) && ~isstruct(varargin{1})
0015     error('### Incorrect usage: first argument should be a character string or a structure.');
0016   end
0017   
0018   if isstruct(varargin{1})
0019     
0020     p = class(varargin{1}, 'provenance');
0021     
0022     return
0023   end
0024   
0025   creator = varargin{1};
0026 else
0027   creator = 'unknown';
0028 end
0029 created = sprintf('%s', datestr(now,31));
0030 
0031 
0032 % properties
0033 %   creator     - name of person creating this
0034 %   created     - data of creation
0035 %   ip          - IP of machine creating
0036 %   hostname    - hostname of the machine creating the object
0037 %   matver      - matlab version
0038 %   ltpdaver    -
0039 %   os          - operating system
0040 %
0041 %
0042 
0043 
0044 %--------------------------------------------------------------------------
0045 % Machine Info
0046 %
0047 ipaddress = char(getHostAddress(java.net.InetAddress.getLocalHost));
0048 hostname  = char(getHostName(java.net.InetAddress.getLocalHost));
0049 os        = computer;
0050 
0051 %--------------------------------------------------------------------------
0052 % Process software versions
0053 %
0054 
0055 matlab_version  = '';
0056 sigproc_version = '';
0057 ltpda_version   = '';
0058 
0059 vs = ver;
0060 for j=1:length(vs)
0061   v = vs(j);
0062   switch v.Name
0063     case 'MATLAB'
0064       matlab_version = [v.Version ' ' v.Release];
0065     case 'Signal Processing Toolbox'
0066       sigproc_version = [v.Version ' ' v.Release];
0067     case 'LTPDA Toolbox'
0068       ltpda_version = [v.Version ' ' v.Release];
0069   end
0070 end
0071 
0072 %--------------------------------------------------------------------------
0073 % Make provenance object
0074 %
0075 
0076 p.creator         = creator;
0077 p.created         = created;
0078 p.ip              = ipaddress;
0079 p.hostname        = hostname;
0080 p.os              = os;
0081 p.matlab_version  = matlab_version;
0082 p.sigproc_version = sigproc_version;
0083 p.ltpda_version   = ltpda_version;
0084 p = class(p, 'provenance');
0085 
0086 
0087 
0088 
0089 % END

Generated on Fri 08-Jun-2007 16:09:11 by m2html © 2003