Browse Source

vlib: add Vect_open_tmp_old/update

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@57446 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 11 năm trước cách đây
mục cha
commit
3b316163ff
2 tập tin đã thay đổi với 51 bổ sung0 xóa
  1. 2 0
      include/defs/vector.h
  2. 49 0
      lib/vector/Vlib/open.c

+ 2 - 0
include/defs/vector.h

@@ -220,12 +220,14 @@ int Vect_check_input_output_name(const char *, const char *, int);
 int Vect_legal_filename(const char *);
 int Vect_set_open_level(int);
 int Vect_open_old(struct Map_info *, const char *, const char *);
+int Vect_open_tmp_old(struct Map_info *, const char *, const char *);
 int Vect_open_old2(struct Map_info *, const char *, const char *, const char *);
 int Vect_open_old_head(struct Map_info *, const char *, const char *);
 int Vect_open_old_head2(struct Map_info *, const char *, const char *, const char *);
 int Vect_open_new(struct Map_info *, const char *, int);
 int Vect_open_tmp_new(struct Map_info *, const char *, int);
 int Vect_open_update(struct Map_info *, const char *, const char *);
+int Vect_open_tmp_update(struct Map_info *, const char *, const char *);
 int Vect_open_update2(struct Map_info *, const char *, const char *, const char *);
 int Vect_open_update_head(struct Map_info *, const char *, const char *);
 int Vect_copy_head_data(const struct Map_info *, struct Map_info *);

+ 49 - 0
lib/vector/Vlib/open.c

@@ -559,6 +559,29 @@ int Vect_open_old(struct Map_info *Map, const char *name, const char *mapset)
 }
 
 /*!
+  \brief Open existing temporary vector map for reading
+  
+  Temporary vector maps are stored in the current mapset (directory
+  <tt>.tmp/<hostname>/vector</tt>).
+
+  Calls G_fatal_error() on failure.
+
+  \todo Create new vector map if doesn't exist.
+  
+  \param[out] Map pointer to Map_info structure
+  \param name name of vector map to open
+  \param mapset mapset name ("" for search path)
+  
+  \return 1 open on level 1 (without topology)
+  \return 2 open on level 2 (with topology)
+  \return -1 on error
+*/
+int Vect_open_tmp_old(struct Map_info *Map, const char *name, const char *mapset)
+{
+    return Vect__open_old(Map, name, mapset, NULL, FALSE, FALSE, TRUE);
+}
+
+/*!
   \brief Open existing vector map for reading
   
   Calls G_fatal_error() on failure.
@@ -603,6 +626,32 @@ int Vect_open_update(struct Map_info *Map, const char *name, const char *mapset)
 }
 
 /*!
+  \brief Open existing temporary vector map for reading/writing
+  
+  Temporary vector maps are stored in the current mapset (directory
+  <tt>.tmp/<hostname>/vector</tt>).
+
+  By default list of updated features is not maintained, see
+  Vect_set_updated() for details.
+  
+  Calls G_fatal_error() on failure.
+
+  \todo Create new vector map if doesn't exist.
+
+  \param[out] Map pointer to Map_info structure
+  \param name name of vector map to update
+  \param mapset mapset name
+  
+  \return 1 open on level 1 (without topology)
+  \return 2 open on level 2 (with topology)
+  \return -1 on error
+*/
+int Vect_open_tmp_update(struct Map_info *Map, const char *name, const char *mapset)
+{
+    return Vect__open_old(Map, name, mapset, NULL, TRUE, FALSE, TRUE);
+}
+
+/*!
   \brief Open existing vector map for reading/writing
   
   By default list of updated features is not maintained, see