Changeset 1375 for trunk/bindings
- Timestamp:
- 29/10/09 10:59:48 (3 years ago)
- Location:
- trunk/bindings
- Files:
-
- 12 edited
-
cpp/NeXusFile.cpp (modified) (1 diff)
-
cpp/NeXusFile.hpp (modified) (1 diff)
-
f77/napif.f (modified) (1 diff)
-
f77/napif.inc (modified) (3 diffs)
-
idl/NeXusIDL-API.c (modified) (2 diffs)
-
idl/NeXusIDL-API.dlm (modified) (1 diff)
-
java/native/NexusFile.c (modified) (2 diffs)
-
java/org/nexusformat/NeXusFileInterface.java (modified) (1 diff)
-
java/org/nexusformat/NexusFile.java (modified) (2 diffs)
-
swig/nxinter.i (modified) (1 diff)
-
swig/nxinterhelper.c (modified) (1 diff)
-
swig/nxinterhelper.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/bindings/cpp/NeXusFile.cpp
r1264 r1375 230 230 throw Exception(msg.str(), status); 231 231 } 232 } 233 234 std::string File::getPath(){ 235 char cPath[1024]; 236 237 memset(cPath,0,1024*sizeof(char)); 238 NXstatus status = NXgetpath(this->m_file_id,cPath, 1024); 239 if (status != NX_OK) { 240 stringstream msg; 241 msg << "NXgetpath() failed"; 242 throw Exception(msg.str(), status); 243 } 244 return std::string(cPath); 232 245 } 233 246 -
trunk/bindings/cpp/NeXusFile.hpp
r1263 r1375 191 191 */ 192 192 void openGroupPath(const std::string& path); 193 /** 194 * Get the path into the current file 195 * \return A unix like path string pointing to the current 196 * position in the file 197 */ 198 std::string getPath(); 193 199 194 200 /** -
trunk/bindings/f77/napif.f
r848 r1375 121 121 CALL EXTRACT_STRING(IPATH, 256, PATH) 122 122 NXOPENPATH = NXIOPENPATH(FILEID, IPATH) 123 END 124 125 INTEGER FUNCTION NXGETPATH(FILEID, PATH) 126 INTEGER FILEID(*),NXIGETPATH, NXIFGETPATH 127 CHARACTER*(*) PATH 128 INTEGER*1 IPATH(1024) 129 INTEGER PLEN 130 EXTERNAL NXIFGETPATH 131 PLEN = 1024 132 NXGETPATH = NXIFGETPATH(FILEID,IPATH,PLEN) 133 CALL REPLACE_STRING(PATH,IPATH) 123 134 END 124 135 -
trunk/bindings/f77/napif.inc
r952 r1375 36 36 C *** large enough to hold an NXhandle structure 37 37 INTEGER NXHANDLESIZE 38 PARAMETER(NXHANDLESIZE=5120) 38 C PARAMETER(NXHANDLESIZE=5120) 39 PARAMETER(NXHANDLESIZE=9058) 39 40 C *** NXLINKSIZE is (at least) the size of an INTEGER*4 array that can hold 40 41 C *** an NXlink structure: we'll assume 64bit alignment of structure members for safety … … 79 80 + NXINITATTRDIR, NXFLUSH, NXCOMPMAKEDATA, NXOPENPATH, 80 81 + NXSETNUMBERFORMAT, NXOPENGROUPPATH, NXOPENSOURCEGROUP, 81 + NXMAKENAMEDLINK 82 + NXMAKENAMEDLINK, NXGETPATH 82 83 LOGICAL NXSAMEID 83 84 EXTERNAL NXOPEN, NXCLOSE, NXMAKEGROUP, NXOPENGROUP, NXCLOSEGROUP, … … 91 92 + NXOPENPATH,NXSETNUMBERFORMAT, NXOPENGROUPPATH, 92 93 + NXOPENSOURCEGROUP, NXINQUIREFILE, NXISEXTERNALGROUP, 93 + NXLINKEXTERNAL, NXMAKENAMEDLINK 94 + NXLINKEXTERNAL, NXMAKENAMEDLINK, NXGETPATH -
trunk/bindings/idl/NeXusIDL-API.c
r1224 r1375 217 217 218 218 return IDL_GettmpInt(status); 219 } 220 /*====================================================================== 221 * NXgetpath 222 * string = NXgetpath(file_id) 223 *======================================================================*/ 224 static IDL_VPTR NXgetpath_this(int argc, IDL_VPTR *argv) 225 { 226 int fileid; 227 NXhandle hHandle; 228 int iHandle, status; 229 char path[1024]; 230 231 if (argc != 1) { 232 IDL_Message(IDL_M_NAMED_GENERIC, IDL_MSG_INFO, "One argument expected"); 233 return IDL_StrToSTRING("One argument expected"); 234 } 235 236 IDL_ENSURE_SCALAR(argv[0]); 237 238 fileid = (int)IDL_LongScalar(argv[0]); 239 240 if(HHCheckIfHandleExists(fileid) == -1) { 241 IDL_Message(IDL_M_NAMED_GENERIC, IDL_MSG_INFO, "Unknown file id"); 242 return IDL_StrToSTRING("ERROR: Unknown file ID"); 243 } 244 245 hHandle = HHGetPointer(fileid); 246 NXMSetError(NULL,idlError); 247 248 status = NXgetpath(hHandle,path,1024); 249 if(status == NX_ERROR){ 250 IDL_Message(IDL_M_NAMED_GENERIC, IDL_MSG_INFO, nexusError); 251 return IDL_StrToSTRING(nexusError); 252 } 253 return IDL_StrToSTRING(path); 219 254 } 220 255 … … 2549 2584 { NXsetnumberformat_this, "NXSETNUMBERFORMAT", 0, IDL_MAXPARAMS, 0, 0}, 2550 2585 { NXopenpath_this, "NXOPENPATH", 0, IDL_MAXPARAMS, 0, 0}, 2551 { NXopengrouppath_this, "NXOPENGROUPPATH", 0, IDL_MAXPARAMS, 0, 0}, 2586 { NXopengrouppath_this, "NXOPENGROUPPATH", 0, IDL_MAXPARAMS, 0, 0}, 2587 { NXgetpath_this, "NXGETPATH", 0, IDL_MAXPARAMS, 0, 0}, 2552 2588 { NXmakegroup_this, "NXMAKEGROUP", 0, IDL_MAXPARAMS, 0, 0}, 2553 2589 { NXopengroup_this, "NXOPENGROUP", 0, IDL_MAXPARAMS, 0, 0}, -
trunk/bindings/idl/NeXusIDL-API.dlm
r1153 r1375 8 8 FUNCTION NXOPENPATH 0 IDL_MAXPARAMS 9 9 FUNCTION NXOPENGROUPPATH 0 IDL_MAXPARAMS 10 FUNCTION NXGETPATH 0 IDL_MAXPARAMS 10 11 FUNCTION NXMAKEGROUP 0 IDL_MAXPARAMS 11 12 FUNCTION NXCLOSEGROUP 0 IDL_MAXPARAMS -
trunk/bindings/java/native/NexusFile.c
r1282 r1375 23 23 24 24 Added NXinitattrdir and NXinitgroupdir, Mark Koennecke, October 2009 25 26 Added NXgetpath, Mark Koennecke, October 2009 25 27 26 28 IMPLEMENTATION NOTES … … 307 309 (*env)->ReleaseStringUTFChars(env,path, nxpath); 308 310 } 311 /*-----------------------------------------------------------------------*/ 312 JNIEXPORT jstring JNICALL Java_org_nexusformat_NexusFile_nxgetpath 313 (JNIEnv *env, jobject obj, jint handle) 314 { 315 NXhandle nxhandle; 316 int iRet; 317 char path[1024]; 318 319 /* set error handler */ 320 NXMSetError(env,JapiError); 321 322 /* exchange the Java handler to a NXhandle */ 323 nxhandle = (NXhandle)HHGetPointer(handle); 324 325 iRet = NXgetpath(nxhandle, path,1024); 326 327 return (*env)->NewStringUTF(env,path); 328 } 329 309 330 /*------------------------------------------------------------------------ 310 331 nxclosegroup -
trunk/bindings/java/org/nexusformat/NeXusFileInterface.java
r848 r1375 89 89 public void opengrouppath(String path) throws 90 90 NexusException; 91 /** 92 * return the current path into the NeXus file in the 93 * form of a Unix path string. 94 * @return A unix path string 95 */ 96 public String getpath() throws NexusException; 91 97 /** 92 98 * closegroup closes access to the current group and steps down one -
trunk/bindings/java/org/nexusformat/NexusFile.java
r1282 r1375 186 186 protected native void nxopengrouppath(int handle, String path); 187 187 protected native void nxclosegroup(int handle); 188 protected native String nxgetpath(int handle); 188 189 189 190 /** … … 246 247 nxopengrouppath(handle,path); 247 248 } 248 249 /** 250 * return the current path into the NeXus file in the 251 * form of a Unix path string. 252 * @return A unix path string 253 */ 254 public String getpath() throws NexusException 255 { 256 if(handle < 0) throw new NexusException("NAPI-ERROR: File not open"); 257 return nxgetpath(handle); 258 } 249 259 /** 250 260 * closegroup closes access to the current group and steps down one -
trunk/bindings/swig/nxinter.i
r952 r1375 57 57 extern int nx_openpath(void *handle, char *path); 58 58 extern int nx_opengrouppath(void *handle, char *path); 59 extern char *nx_getpath(void *handle); 59 60 extern int nx_closegroup(void *handle); 60 61 extern char *nx_getnextentry(void *handle, char separator); -
trunk/bindings/swig/nxinterhelper.c
r942 r1375 114 114 } 115 115 /*--------------------------------------------------------------------*/ 116 char *nx_getpath(void *handle){ 117 int status; 118 NXhandle hfil; 119 char path[1024]; 120 121 hfil = (NXhandle)handle; 122 status = NXgetpath(hfil,path,1024); 123 if(status == NX_OK){ 124 return strdup(path); 125 } else { 126 return strdup("Error in NXgetpath"); 127 } 128 } 129 /*--------------------------------------------------------------------*/ 116 130 int nx_closegroup(void *handle){ 117 131 int status; -
trunk/bindings/swig/nxinterhelper.h
r942 r1375 23 23 int nx_opengrouppath(void *handle, char *path); 24 24 int nx_openpath(void *handle, char *path); 25 extern char *nx_getpath(void *handle); 25 26 int nx_closegroup(void *handle); 26 27 char *nx_getnextentry(void *handle, char separator);
Note: See TracChangeset
for help on using the changeset viewer.
