nis-util
1.0.D108
|
00001 // 00002 // nis-util - NIS Administration Utilities 00003 // Copyright (C) 2012 Peter Miller 00004 // 00005 // This program is free software; you can redistribute it and/or modify 00006 // it under the terms of the GNU General Public License as published by 00007 // the Free Software Foundation; either version 2 of the License, or (at 00008 // your option) any later version. 00009 // 00010 // This program is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 // General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU General Public License along 00016 // with this program. If not, see <http://www.gnu.org/licenses/>. 00017 // 00018 00019 #ifndef LIB_SPACE_AUTOMAP_ROW_COMPOUND_H 00020 #define LIB_SPACE_AUTOMAP_ROW_COMPOUND_H 00021 00022 #include <lib/space/automap/row.h> 00023 00028 class space_automap_row_compound: 00029 public space_automap_row 00030 { 00031 public: 00032 typedef boost::shared_ptr<space_automap_row_compound> pointer; 00033 00037 virtual ~space_automap_row_compound(); 00038 00039 typedef std::list<space_automap_row::pointer> parts_t; 00040 00045 static pointer create(const mount_point &a_mount_point, 00046 const rcstring &a_options, const parts_t &parts); 00047 00048 protected: 00049 // See base class for documentation. 00050 void print(const output_pointer &op) const; 00051 00052 // See base class for documentation. 00053 space_automap_row::pointer repath(const mount_point &stem) const; 00054 00055 // See base class for documentation. 00056 void space_automap_insert_sub(space_automap *sap) const; 00057 00058 private: 00063 space_automap_row_compound(const mount_point &a_mount_point, 00064 const rcstring &a_options, const parts_t &parts); 00065 00070 parts_t parts; 00071 00076 space_automap_row_compound(); 00077 00085 space_automap_row_compound(const space_automap_row_compound &rhs); 00086 00094 space_automap_row_compound &operator=( 00095 const space_automap_row_compound &rhs); 00096 }; 00097 00098 // vim: set ts=8 sw=4 et : 00099 #endif // LIB_SPACE_AUTOMAP_ROW_COMPOUND_H