source: issm/trunk-jpl/src/c/objects/Params/FileParam.h@ 12011

Last change on this file since 12011 was 12011, checked in by Eric.Larour, 13 years ago

Preliminary commit of new issm version, where serial code is starting to be stripped away. Will not run before some major debugging is done

File size: 4.7 KB
Line 
1/*! \file FileParam.h
2 * \brief: header file for triavertexinput object
3 */
4
5
6#ifndef _FILEPARAM_H_
7#define _FILEPARAM_H_
8
9/*Headers:*/
10/*{{{1*/
11#ifdef HAVE_CONFIG_H
12 #include <config.h>
13#else
14#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
15#endif
16
17#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
18#include <mex.h>
19#endif
20
21#include "./Param.h"
22#include "../../include/include.h"
23#include "../../shared/shared.h"
24/*}}}*/
25
26class FileParam: public Param{
27
28 private:
29 int enum_type;
30 FILE* value;
31
32 public:
33 /*FileParam constructors, destructors: {{{1*/
34 FileParam();
35 FileParam(int enum_type,FILE* fid);
36 ~FileParam();
37 /*}}}*/
38 /*Object virtual functions definitions:{{{1 */
39 void Echo();
40 void DeepEcho();
41 int Id();
42 int MyRank();
43 #ifdef _SERIAL_
44 void Marshall(char** pmarshalled_dataset);
45 int MarshallSize();
46 void Demarshall(char** pmarshalled_dataset);
47 #endif
48 int ObjectEnum();
49 Object* copy();
50 /*}}}*/
51 /*Param vritual function definitions: {{{1*/
52 int InstanceEnum(){return enum_type;}
53 void GetParameterValue(bool* pbool){ _error_("FileParam of enum %i (%s) cannot return a bool",enum_type,EnumToStringx(enum_type));}
54 void GetParameterValue(int* pinteger){_error_("FileParam of enum %i (%s) cannot return a double",enum_type,EnumToStringx(enum_type));}
55 void GetParameterValue(int** pintarray,int* pM){_error_("FileParam of enum %i (%s) cannot return a double",enum_type,EnumToStringx(enum_type));}
56 void GetParameterValue(int** pintarray,int* pM,int* pN){_error_("FileParam of enum %i (%s) cannot return a double",enum_type,EnumToStringx(enum_type));}
57 void GetParameterValue(double* pdouble){_error_("FileParam of enum %i (%s) cannot return a double",enum_type,EnumToStringx(enum_type));}
58 void GetParameterValue(char** pstring){_error_("FileParam of enum %i (%s) cannot return a string",enum_type,EnumToStringx(enum_type));}
59 void GetParameterValue(char*** pstringarray,int* pM){_error_("FileParam of enum %i (%s) cannot return a string array",enum_type,EnumToStringx(enum_type));}
60 void GetParameterValue(double** pdoublearray,int* pM){_error_("FileParam of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
61 void GetParameterValue(double** pdoublearray,int* pM, int* pN){_error_("FileParam of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
62 void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("File param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
63 void GetParameterValue(Vector** pvec){_error_("FileParam of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
64 void GetParameterValue(Matrix** pmat){_error_("FileParam of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
65 void GetParameterValue(FILE** pfid){*pfid=value;};
66
67 void SetValue(bool boolean){_error_("FileParam of enum %i (%s) cannot hold a string",enum_type,EnumToStringx(enum_type));}
68 void SetValue(int integer){_error_("FileParam of enum %i (%s) cannot hold a string",enum_type,EnumToStringx(enum_type));}
69 void SetValue(double scalar){_error_("FileParam of enum %i (%s) cannot hold a string",enum_type,EnumToStringx(enum_type));}
70 void SetValue(char* string){_error_("FileParam of enum %i (%s) cannot hold a string",enum_type,EnumToStringx(enum_type));}
71 void SetValue(char** stringarray,int M){_error_("FileParam of enum %i (%s) cannot hold a string array",enum_type,EnumToStringx(enum_type));}
72 void SetValue(double* doublearray,int M){_error_("FileParam of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
73 void SetValue(double* pdoublearray,int M,int N){_error_("FileParam of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
74 void SetValue(int* intarray,int M){_error_("FileParam of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
75 void SetValue(int* pintarray,int M,int N){_error_("FileParam of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
76 void SetValue(Vector* vec){_error_("FileParam of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
77 void SetValue(Matrix* mat){_error_("FileParam of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
78 void SetValue(FILE* fid){_error_("File param of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
79 void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("File param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
80 void UnitConversion(int direction_enum);
81
82 void GetParameterName(char**pname);
83
84 /*}}}*/
85};
86#endif /* _INTPARAM_H */
Note: See TracBrowser for help on using the repository browser.