changeset 21728:c218a5b31ad7

use namespace for system group wrapper class * oct-group.h, oct-group.cc: Put group class in octave::sys namespace. Change all uses. (octave_group): Now a deprecated typedef for octave::sys::group.
author John W. Eaton <jwe@octave.org>
date Wed, 18 May 2016 12:35:37 -0400
parents e0da98857c19
children 815b2f500fab
files libinterp/corefcn/getgrent.cc liboctave/system/oct-group.cc liboctave/system/oct-group.h
diffstat 3 files changed, 228 insertions(+), 206 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/getgrent.cc	Wed May 18 12:14:34 2016 -0400
+++ b/libinterp/corefcn/getgrent.cc	Wed May 18 12:35:37 2016 -0400
@@ -41,7 +41,7 @@
 // Group file functions.  (Why not?)
 
 static octave_value
-mk_gr_map (const octave_group& gr)
+mk_gr_map (const octave::sys::group& gr)
 {
   octave_value retval;
 
@@ -76,8 +76,8 @@
 
   std::string msg;
 
-  // octave_group::getgrent may set msg.
-  octave_value val = mk_gr_map (octave_group::getgrent (msg));
+  // octave::sys::group::getgrent may set msg.
+  octave_value val = mk_gr_map (octave::sys::group::getgrent (msg));
 
   return ovl (val, msg);
 }
@@ -104,8 +104,8 @@
 
   std::string msg;
 
-  // octave_group::getgrgid may set msg.
-  octave_value val = mk_gr_map (octave_group::getgrgid (gid, msg));
+  // octave::sys::group::getgrgid may set msg.
+  octave_value val = mk_gr_map (octave::sys::group::getgrgid (gid, msg));
 
   return ovl (val, msg);
 }
@@ -127,8 +127,8 @@
 
   std::string msg;
 
-  // octave_group::getgrnam may set msg.
-  octave_value val = mk_gr_map (octave_group::getgrnam (s.c_str (), msg));
+  // octave::sys::group::getgrnam may set msg.
+  octave_value val = mk_gr_map (octave::sys::group::getgrnam (s.c_str (), msg));
 
   return ovl (val, msg);
 }
@@ -145,8 +145,8 @@
 
   std::string msg;
 
-  // octave_group::setgrent may set msg.
-  int status = octave_group::setgrent (msg);
+  // octave::sys::group::setgrent may set msg.
+  int status = octave::sys::group::setgrent (msg);
 
   return ovl (static_cast<double> (status), msg);
 }
@@ -163,8 +163,8 @@
 
   std::string msg;
 
-  // octave_group::endgrent may set msg.
-  int status = octave_group::endgrent (msg);
+  // octave::sys::group::endgrent may set msg.
+  int status = octave::sys::group::endgrent (msg);
 
   return ovl (static_cast<double> (status), msg);
 }
--- a/liboctave/system/oct-group.cc	Wed May 18 12:14:34 2016 -0400
+++ b/liboctave/system/oct-group.cc	Wed May 18 12:35:37 2016 -0400
@@ -44,180 +44,187 @@
   (*current_liboctave_error_handler) ("invalid group object");
 }
 
-std::string
-octave_group::name (void) const
+namespace
+octave
 {
-  if (! ok ())
-    err_invalid ();
-
-  return gr_name;
-}
-
-std::string
-octave_group::passwd (void) const
-{
-  if (! ok ())
-    err_invalid ();
-
-  return gr_passwd;
-}
+  namespace
+  sys
+  {
+    std::string
+    group::name (void) const
+    {
+      if (! ok ())
+        err_invalid ();
 
-gid_t
-octave_group::gid (void) const
-{
-  if (! ok ())
-    err_invalid ();
-
-  return gr_gid;
-}
+      return m_name;
+    }
 
-string_vector
-octave_group::mem (void) const
-{
-  if (! ok ())
-    err_invalid ();
+    std::string
+    group::passwd (void) const
+    {
+      if (! ok ())
+        err_invalid ();
 
-  return gr_mem;
-}
+      return m_passwd;
+    }
 
-octave_group
-octave_group::getgrent (void)
-{
-  std::string msg;
-  return getgrent (msg);
-}
+    gid_t
+    group::gid (void) const
+    {
+      if (! ok ())
+        err_invalid ();
+
+      return m_gid;
+    }
+
+    string_vector
+    group::mem (void) const
+    {
+      if (! ok ())
+        err_invalid ();
 
-octave_group
-octave_group::getgrent (std::string& msg)
-{
+      return m_mem;
+    }
+
+    group
+    group::getgrent (void)
+    {
+      std::string msg;
+      return getgrent (msg);
+    }
+
+    group
+    group::getgrent (std::string& msg)
+    {
 #if defined (HAVE_GETGRENT)
-  msg = "";
-  return octave_group (::getgrent (), msg);
+      msg = "";
+      return group (::getgrent (), msg);
 #else
-  msg = NOT_SUPPORTED ("getgrent");
-  return octave_group ();
-#endif
-}
-
-octave_group
-octave_group::getgrgid (gid_t gid)
-{
-  std::string msg;
-  return getgrgid (gid, msg);
-}
-
-octave_group
-octave_group::getgrgid (gid_t gid, std::string& msg)
-{
-#if defined (HAVE_GETGRGID)
-  msg = "";
-  return octave_group (::getgrgid (gid), msg);
-#else
-  msg = NOT_SUPPORTED ("getgruid");
-  return octave_group ();
+      msg = NOT_SUPPORTED ("getgrent");
+      return group ();
 #endif
-}
+    }
 
-octave_group
-octave_group::getgrnam (const std::string& nm)
-{
-  std::string msg;
-  return getgrnam (nm, msg);
-}
+    group
+    group::getgrgid (gid_t gid)
+    {
+      std::string msg;
+      return getgrgid (gid, msg);
+    }
 
-octave_group
-octave_group::getgrnam (const std::string& nm, std::string& msg)
-{
-#if defined (HAVE_GETGRNAM)
-  msg = "";
-  return octave_group (::getgrnam (nm.c_str ()), msg);
+    group
+    group::getgrgid (gid_t gid, std::string& msg)
+    {
+#if defined (HAVE_GETGRGID)
+      msg = "";
+      return group (::getgrgid (gid), msg);
 #else
-  msg = NOT_SUPPORTED ("getgrnam");
-  return octave_group ();
+      msg = NOT_SUPPORTED ("getgruid");
+      return group ();
 #endif
-}
+    }
 
-int
-octave_group::setgrent (void)
-{
-  std::string msg;
-  return setgrent (msg);
-}
+    group
+    group::getgrnam (const std::string& nm)
+    {
+      std::string msg;
+      return getgrnam (nm, msg);
+    }
 
-int
-octave_group::setgrent (std::string& msg)
-{
-#if defined (HAVE_SETGRENT)
-  msg = "";
-  ::setgrent ();
-  return 0;
+    group
+    group::getgrnam (const std::string& nm, std::string& msg)
+    {
+#if defined (HAVE_GETGRNAM)
+      msg = "";
+      return group (::getgrnam (nm.c_str ()), msg);
 #else
-  msg = NOT_SUPPORTED ("setgrent");
-  return -1;
+      msg = NOT_SUPPORTED ("getgrnam");
+      return group ();
 #endif
-}
+    }
+
+    int
+    group::setgrent (void)
+    {
+      std::string msg;
+      return setgrent (msg);
+    }
 
-int
-octave_group::endgrent (void)
-{
-  std::string msg;
-  return endgrent (msg);
-}
+    int
+    group::setgrent (std::string& msg)
+    {
+#if defined (HAVE_SETGRENT)
+      msg = "";
+      ::setgrent ();
+      return 0;
+#else
+      msg = NOT_SUPPORTED ("setgrent");
+      return -1;
+#endif
+    }
 
-int
-octave_group::endgrent (std::string& msg)
-{
+    int
+    group::endgrent (void)
+    {
+      std::string msg;
+      return endgrent (msg);
+    }
+
+    int
+    group::endgrent (std::string& msg)
+    {
 #if defined (HAVE_ENDGRENT)
-  msg = "";
-  ::endgrent ();
-  return 0;
+      msg = "";
+      ::endgrent ();
+      return 0;
 #else
-  msg = NOT_SUPPORTED ("endgrent");
-  return -1;
+      msg = NOT_SUPPORTED ("endgrent");
+      return -1;
 #endif
-}
+    }
 
-octave_group::octave_group (void *p, std::string& msg)
-  : gr_name (), gr_passwd (), gr_gid (0), gr_mem (), valid (false)
-{
+    group::group (void *p, std::string& msg)
+      : m_name (), m_passwd (), m_gid (0), m_mem (), valid (false)
+    {
 #if defined (HAVE_GRP_H)
-  msg = "";
+      msg = "";
 
-  if (p)
-    {
-      struct group *gr = static_cast<struct group *> (p);
+      if (p)
+        {
+          struct ::group *gr = static_cast<struct ::group *> (p);
 
-      gr_name = gr->gr_name;
+          m_name = gr->gr_name;
 
 #if defined (HAVE_GR_PASSWD)
-      gr_passwd = gr->gr_passwd;
+          m_passwd = gr->gr_passwd;
 #endif
 
-      gr_gid = gr->gr_gid;
+          m_gid = gr->gr_gid;
 
-      // FIXME: Maybe there should be a string_vector constructor
-      //        that takes a NUL terminated list of C strings?
+          // FIXME: Maybe there should be a string_vector constructor
+          //        that takes a NUL terminated list of C strings?
+
+          const char * const *tmp = gr->gr_mem;
 
-      const char * const *tmp = gr->gr_mem;
+          int k = 0;
+          while (*tmp++)
+            k++;
 
-      int k = 0;
-      while (*tmp++)
-        k++;
+          if (k > 0)
+            {
+              tmp = gr->gr_mem;
 
-      if (k > 0)
-        {
-          tmp = gr->gr_mem;
+              m_mem.resize (k);
 
-          gr_mem.resize (k);
+              for (int i = 0; i < k; i++)
+                m_mem[i] = tmp[i];
+            }
 
-          for (int i = 0; i < k; i++)
-            gr_mem[i] = tmp[i];
+          valid = true;
         }
-
-      valid = true;
+#else
+      msg = NOT_SUPPORTED ("group functions");
+#endif
     }
-#else
-  msg = NOT_SUPPORTED ("group functions");
-#endif
+  }
 }
-
--- a/liboctave/system/oct-group.h	Wed May 18 12:14:34 2016 -0400
+++ b/liboctave/system/oct-group.h	Wed May 18 12:35:37 2016 -0400
@@ -31,82 +31,97 @@
 
 #include "str-vec.h"
 
-class
-OCTAVE_API
-octave_group
+namespace
+octave
 {
-public:
-
-  octave_group (void)
-    : gr_name (), gr_passwd (), gr_gid (0), gr_mem (), valid (false)
-  { }
-
-  octave_group (const octave_group& gr)
-    : gr_name (gr.gr_name), gr_passwd (gr.gr_passwd),
-      gr_gid (gr.gr_gid), gr_mem (gr.gr_mem), valid (gr.valid)
-  { }
-
-  octave_group& operator = (const octave_group& gr)
+  namespace
+  sys
   {
-    if (this != &gr)
-      {
-        gr_name = gr.gr_name;
-        gr_passwd = gr.gr_passwd;
-        gr_gid = gr.gr_gid;
-        gr_mem = gr.gr_mem;
-        valid = gr.valid;
-      }
+    class
+    OCTAVE_API
+    group
+    {
+    public:
+
+      group (void)
+        : m_name (), m_passwd (), m_gid (0), m_mem (), valid (false)
+        { }
+
+      group (const group& gr)
+        : m_name (gr.m_name), m_passwd (gr.m_passwd),
+        m_gid (gr.m_gid), m_mem (gr.m_mem), valid (gr.valid)
+        { }
 
-    return *this;
-  }
-
-  std::string name (void) const;
+      group& operator = (const group& gr)
+        {
+          if (this != &gr)
+            {
+              m_name = gr.m_name;
+              m_passwd = gr.m_passwd;
+              m_gid = gr.m_gid;
+              m_mem = gr.m_mem;
+              valid = gr.valid;
+            }
 
-  std::string passwd (void) const;
+          return *this;
+        }
 
-  gid_t gid (void) const;
+      std::string name (void) const;
 
-  string_vector mem (void) const;
+      std::string passwd (void) const;
+
+      gid_t gid (void) const;
 
-  bool ok (void) const { return valid; }
+      string_vector mem (void) const;
+
+      bool ok (void) const { return valid; }
 
-  operator bool () const { return ok (); }
+      operator bool () const { return ok (); }
+
+      static group getgrent (void);
+      static group getgrent (std::string& msg);
 
-  static octave_group getgrent (void);
-  static octave_group getgrent (std::string& msg);
+      static group getgrgid (gid_t gid);
+      static group getgrgid (gid_t gid, std::string& msg);
 
-  static octave_group getgrgid (gid_t gid);
-  static octave_group getgrgid (gid_t gid, std::string& msg);
+      static group getgrnam (const std::string& nm);
+      static group getgrnam (const std::string& nm, std::string& msg);
 
-  static octave_group getgrnam (const std::string& nm);
-  static octave_group getgrnam (const std::string& nm, std::string& msg);
+      static int setgrent (void);
+      static int setgrent (std::string& msg);
 
-  static int setgrent (void);
-  static int setgrent (std::string& msg);
+      static int endgrent (void);
+      static int endgrent (std::string& msg);
 
-  static int endgrent (void);
-  static int endgrent (std::string& msg);
+    private:
 
-private:
+      // The group name.
+      std::string m_name;
 
-  // The group name.
-  std::string gr_name;
+      // The group password.
+      std::string m_passwd;
+
+      // The numeric group id.
+      gid_t m_gid;
 
-  // The group password.
-  std::string gr_passwd;
+      // The members of the group;
+      string_vector m_mem;
 
-  // The numeric group id.
-  gid_t gr_gid;
+      // Flag that says whether we have been properly initialized.
+      bool valid;
 
-  // The members of the group;
-  string_vector gr_mem;
+      // This is how we will create an group object from a pointer
+      // to a struct group.
+      group (void *p, std::string& msg);
+    };
+  }
+}
 
-  // Flag that says whether we have been properly initialized.
-  bool valid;
+#if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
 
-  // This is how we will create an octave_group object from a pointer
-  // to a struct group.
-  octave_group (void *p, std::string& msg);
-};
+OCTAVE_DEPRECATED ("use octave::sys::group instead")
+typedef octave::sys::group octave_group;
 
 #endif
+
+#endif