Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libjni-mrsid / src / ltimetadatadatabase.cpp @ 3539

History | View | Annotate | Download (3.76 KB)

1
 /**********************************************************************
2
 * $Id: ltimetadatadatabase.cpp 3539 2006-01-09 12:23:20Z nacho $
3
 *
4
 * Name:     ltimetadatadatabase.c
5
 * Project:  JMRSID. Interfaz java to MrSID (Lizardtech).
6
 * Purpose:  
7
 * Author:   Nacho Brodin, brodin_ign@gva.es
8
 *
9
 **********************************************************************/
10
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
11
*
12
* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
13
*
14
* This program is free software; you can redistribute it and/or
15
* modify it under the terms of the GNU General Public License
16
* as published by the Free Software Foundation; either version 2
17
* of the License, or (at your option) any later version.
18
*
19
* This program is distributed in the hope that it will be useful,
20
* but WITHOUT ANY WARRANTY; without even the implied warranty of
21
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22
* GNU General Public License for more details.
23
*
24
* You should have received a copy of the GNU General Public License
25
* along with this program; if not, write to the Free Software
26
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
27
*
28
* For more information, contact:
29
*
30
*  Generalitat Valenciana
31
*   Conselleria d'Infraestructures i Transport
32
*   Av. Blasco Ib??ez, 50
33
*   46010 VALENCIA
34
*   SPAIN
35
*
36
*      +34 963862235
37
*   gvsig@gva.es
38
*      www.gvsig.gva.es
39
*
40
*    or
41
*
42
*   IVER T.I. S.A
43
*   Salamanca 50
44
*   46005 Valencia
45
*   Spain
46
*
47
*   +34 963163400
48
*   dac@iver.es
49
*/
50

    
51

    
52
#include <jni.h>
53
#include "es_gva_cit_jmrsid_LTIMetadataDatabase.h"
54
#include "es_gva_cit_jmrsid_JNIBase.h"
55

    
56
#include "lt_types.h"
57
#include "lt_base.h"
58
#include "lt_fileSpec.h"
59
#include "lti_geoCoord.h"
60
#include "lti_pixel.h"
61
#include "lti_navigator.h"
62
#include "lti_sceneBuffer.h"
63
#include "lti_metadataDatabase.h"
64
#include "lti_metadataRecord.h"
65
#include "lti_utils.h"
66
#include "MrSIDImageReader.h"
67
#include "J2KImageReader.h"
68
#include "lti_imageReader.h"
69
#include "lti_sceneBuffer.h"
70
#include "lti_scene.h"
71
//#include "cpl_conv.h"
72
#include "TIFFImageWriter.h"
73

    
74
LT_USE_NAMESPACE(LizardTech);
75

    
76
/******************************************************************************/
77
//                                                         getIndexCount
78
/******************************************************************************/
79

    
80
JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getIndexCountNat
81
  (JNIEnv *env, jobject obj, jlong cPtr){
82
          
83
          LTIMetadataDatabase *metadata  = (LTIMetadataDatabase *) 0 ;
84
          int res = -1;
85
                    
86
    metadata = *(LTIMetadataDatabase **)&cPtr;
87
    
88
    if(metadata!=NULL)
89
            res = metadata->getIndexCount();        
90

    
91
    return res;
92
          
93
  }
94

    
95
/******************************************************************************/
96
//                                                         getDataByIndex
97
/******************************************************************************/
98
  
99
JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTIMetadataDatabase_getDataByIndexNat
100
  (JNIEnv *env, jobject obj, jlong cPtr, jint i){
101
          
102
          LTIMetadataDatabase *metadata  = (LTIMetadataDatabase *) 0 ;
103
          jlong jresult = 0;
104
    const LTIMetadataRecord* rec = NULL;
105
                    
106
    metadata = *(LTIMetadataDatabase **)&cPtr;
107
    
108
    if(metadata!=NULL){
109
            metadata->getDataByIndex(i,rec);
110
            LTIMetadataRecord *record = new LTIMetadataRecord(*rec);
111
            *(LTIMetadataRecord **)&jresult = record;        
112
    }
113
          return jresult;
114
  }
115
  
116
/******************************************************************************/
117
//                                                                 ~LTIMetadataDatabase
118
/******************************************************************************/
119
  
120
JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIMetadataDatabase_FreeLTIMetadataDatabaseNat
121
  (JNIEnv *env, jobject obj, jlong cPtr){
122
          
123
          LTIMetadataDatabase *metadata = (LTIMetadataDatabase *) 0 ;
124
          
125
          metadata = *(LTIMetadataDatabase **)&cPtr;
126
          if(metadata!=NULL){
127
                  delete metadata;
128
          }
129
          
130
  }