Index: /issm/trunk/src/c/objects/Params/FileParam.cpp
===================================================================
--- /issm/trunk/src/c/objects/Params/FileParam.cpp	(revision 4874)
+++ /issm/trunk/src/c/objects/Params/FileParam.cpp	(revision 4874)
@@ -0,0 +1,108 @@
+/*!\file FileParam.c
+ * \brief: implementation of the FileParam object
+ */
+
+/*header files: */
+/*{{{1*/
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include "stdio.h"
+#include <string.h>
+#include "../objects.h"
+#include "../../EnumDefinitions/EnumDefinitions.h"
+#include "../../shared/shared.h"
+#include "../../Container/Container.h"
+#include "../../include/include.h"
+/*}}}*/
+
+/*FileParam constructors and destructor*/
+/*FUNCTION FileParam::FileParam(){{{1*/
+FileParam::FileParam(){
+	return;
+}
+/*}}}*/
+/*FUNCTION FileParam::FileParam(int enum_type,FILE *value){{{1*/
+FileParam::FileParam(int in_enum_type,FILE* in_value){
+
+	enum_type=in_enum_type;
+	value=in_value;
+}
+/*}}}*/
+/*FUNCTION FileParam::~FileParam(){{{1*/
+FileParam::~FileParam(){
+	return;
+}
+/*}}}*/
+
+/*Object virtual functions definitions:*/
+/*FUNCTION FileParam::Echo {{{1*/
+void FileParam::Echo(void){
+	this->DeepEcho();
+}
+/*}}}*/
+/*FUNCTION FileParam::DeepEcho{{{1*/
+void FileParam::DeepEcho(void){
+
+	printf("FileParam:\n");
+	printf("   enum:  %i (%s)\n",this->enum_type,EnumAsString(this->enum_type));
+	printf("   value: %p\n",this->value);
+}
+/*}}}*/
+/*FUNCTION FileParam::Id{{{1*/
+int    FileParam::Id(void){ return -1; }
+/*}}}*/
+/*FUNCTION FileParam::MyRank{{{1*/
+int    FileParam::MyRank(void){ 
+	extern int my_rank;
+	return my_rank; 
+}
+/*}}}*/
+/*FUNCTION FileParam::Marshall{{{1*/
+void  FileParam::Marshall(char** pmarshalled_dataset){
+
+	ISSMERROR("FileParam is a pointer and cannot be marshalled");
+}
+/*}}}*/
+/*FUNCTION FileParam::MarshallSize{{{1*/
+int   FileParam::MarshallSize(){
+	ISSMERROR("FileParam is a pointer and cannot be marshalled");
+}
+/*}}}*/
+/*FUNCTION FileParam::Demarshall{{{1*/
+void  FileParam::Demarshall(char** pmarshalled_dataset){
+	ISSMERROR("FileParam is a pointer and cannot be marshalled");
+}
+/*}}}*/
+/*FUNCTION FileParam::Enum{{{1*/
+int FileParam::Enum(void){
+
+	return FileParamEnum;
+
+}
+/*}}}*/
+/*FUNCTION FileParam::copy{{{1*/
+Object* FileParam::copy() {
+	
+	return new FileParam(this->enum_type,this->value);
+
+}
+/*}}}*/
+
+/*FileParam virtual functions definitions: */
+/*FUNCTION FileParam::GetParameterName{{{1*/
+char* FileParam::GetParameterName(void){
+	return  EnumAsString(this->enum_type);
+}
+/*}}}*/
+/*FUNCTION FileParam::SetMatlabField{{{1*/
+#ifdef _SERIAL_
+void  FileParam::SetMatlabField(mxArray* dataref){
+	
+	ISSMERROR("FileParam is a pointer and cannot be converted into a matlab object");
+}
+#endif
+/*}}}*/
Index: /issm/trunk/src/c/objects/Params/FileParam.h
===================================================================
--- /issm/trunk/src/c/objects/Params/FileParam.h	(revision 4874)
+++ /issm/trunk/src/c/objects/Params/FileParam.h	(revision 4874)
@@ -0,0 +1,85 @@
+/*! \file FileParam.h 
+ *  \brief: header file for triavertexinput object
+ */
+
+
+#ifndef _FILEPARAM_H_
+#define _FILEPARAM_H_
+
+/*Headers:*/
+/*{{{1*/
+
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#ifdef _SERIAL_
+#include <mex.h>
+#endif
+
+#include "./Param.h"
+#include "../../include/include.h"
+#include "../../shared/shared.h"
+#include "../../include/include.h"
+#include "../../include/include.h"
+/*}}}*/
+
+class FileParam: public Param{
+
+	private: 
+		int   enum_type;
+		FILE* value;
+
+	public:
+		/*FileParam constructors, destructors: {{{1*/
+		FileParam();
+		FileParam(int enum_type,FILE* fid);
+		~FileParam();
+		/*}}}*/
+		/*Object virtual functions definitions:{{{1 */
+		void  Echo();
+		void  DeepEcho();
+		int   Id(); 
+		int   MyRank();
+		void  Marshall(char** pmarshalled_dataset);
+		int   MarshallSize();
+		void  Demarshall(char** pmarshalled_dataset);
+		int   Enum();
+		Object* copy();
+		/*}}}*/
+		/*Param vritual function definitions: {{{1*/
+		int   EnumType(){return enum_type;}
+		void  GetParameterValue(bool* pbool){  ISSMERROR("FileParam of enum %i (%s) cannot return a bool",enum_type,EnumAsString(enum_type));}
+		void  GetParameterValue(int* pinteger){ISSMERROR("FileParam of enum %i (%s) cannot return a double",enum_type,EnumAsString(enum_type));}
+		void  GetParameterValue(double* pdouble){ISSMERROR("FileParam of enum %i (%s) cannot return a double",enum_type,EnumAsString(enum_type));}
+		void  GetParameterValue(char** pstring){ISSMERROR("FileParam of enum %i (%s) cannot return a string",enum_type,EnumAsString(enum_type));}
+		void  GetParameterValue(char*** pstringarray,int* pM){ISSMERROR("FileParam of enum %i (%s) cannot return a string arrayl",enum_type,EnumAsString(enum_type));}
+		void  GetParameterValue(double** pdoublearray,int* pM){ISSMERROR("FileParam of enum %i (%s) cannot return a double array",enum_type,EnumAsString(enum_type));}
+		void  GetParameterValue(double** pdoublearray,int* pM, int* pN){ISSMERROR("FileParam of enum %i (%s) cannot return a double array",enum_type,EnumAsString(enum_type));}
+		void  GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){ISSMERROR("File param of enum %i (%s) cannot return a matrix array",enum_type,EnumAsString(enum_type));}
+		void  GetParameterValue(Vec* pvec){ISSMERROR("FileParam of enum %i (%s) cannot return a Vec",enum_type,EnumAsString(enum_type));}
+		void  GetParameterValue(Mat* pmat){ISSMERROR("FileParam of enum %i (%s) cannot return a Mat",enum_type,EnumAsString(enum_type));}
+		void  GetParameterValue(FILE** pfid){*pfid=value;};
+
+		void  SetValue(bool boolean){ISSMERROR("FileParam of enum %i (%s) cannot hold a string",enum_type,EnumAsString(enum_type));}
+		void  SetValue(int integer){ISSMERROR("FileParam of enum %i (%s) cannot hold a string",enum_type,EnumAsString(enum_type));}
+		void  SetValue(double scalar){ISSMERROR("FileParam of enum %i (%s) cannot hold a string",enum_type,EnumAsString(enum_type));}
+		void  SetValue(char* string){ISSMERROR("FileParam of enum %i (%s) cannot hold a string",enum_type,EnumAsString(enum_type));}
+		void  SetValue(char** stringarray,int M){ISSMERROR("FileParam of enum %i (%s) cannot hold a string array",enum_type,EnumAsString(enum_type));}
+		void  SetValue(double* doublearray,int M){ISSMERROR("FileParam of enum %i (%s) cannot hold a double array",enum_type,EnumAsString(enum_type));}
+		void  SetValue(double* pdoublearray,int M,int N){ISSMERROR("FileParam of enum %i (%s) cannot hold a double array",enum_type,EnumAsString(enum_type));}
+		void  SetValue(Vec vec){ISSMERROR("FileParam of enum %i (%s) cannot hold a Vec",enum_type,EnumAsString(enum_type));}
+		void  SetValue(Mat mat){ISSMERROR("FileParam of enum %i (%s) cannot hold a Mat",enum_type,EnumAsString(enum_type));}
+		void  SetValue(FILE* fid){ISSMERROR("File param of enum %i (%s) cannot hold a FILE",enum_type,EnumAsString(enum_type));}
+		void  SetValue(double** array, int M, int* mdim_array, int* ndim_array){ISSMERROR("File param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumAsString(enum_type));}
+
+		char* GetParameterName(void);
+		#ifdef _SERIAL_
+		void  SetMatlabField(mxArray* dataref);
+		#endif
+
+		/*}}}*/
+};
+#endif  /* _INTPARAM_H */
Index: /issm/trunk/src/m/enum/FileParamEnum.m
===================================================================
--- /issm/trunk/src/m/enum/FileParamEnum.m	(revision 4874)
+++ /issm/trunk/src/m/enum/FileParamEnum.m	(revision 4874)
@@ -0,0 +1,11 @@
+function macro=FileParamEnum()
+%FILEPARAMENUM - Enum of FileParam
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/SynchronizeMatlabEnum
+%            Please read src/c/README for more information
+%
+%   Usage:
+%      macro=FileParamEnum()
+
+macro=105;
