## Copyright (C) 2001-2005 Red Hat, Inc. ## Copyright (C) 2001, 2002 Than Ngo ## Copyright (C) 2001-2005 Harald Hoyer ## Copyright (C) 2001, 2002 Philipp Knirsch ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## You should have received a copy of the GNU General Public License ## along with this program; if not, write to the Free Software ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. from netconfpkg.gdt import (Gdtstruct, gdtstruct_properties, Gdtstr, Gdtbool, Gdtint) from netconfpkg.NC_functions import log class Callback_base(Gdtstruct): "Callback structure" gdtstruct_properties([ ('Delay', Gdtint, 'VALUE="3"'), ('Hup', Gdtbool, "Test doc string"), ('Compression', Gdtbool, "Test doc string"), ('Type', Gdtstr, 'VALUE="on"'), ('MSN', Gdtstr, "Test doc string"), ]) def __init__(self): super(Callback_base, self).__init__() # self.Delay = 3 self.Delay = None self.Hup = None self.Compression = None # self.Type = "on" self.Type = None self.MSN = None class Callback(Callback_base): boolkeydict = { 'Compression' : 'CBCP', 'Hup' : 'CBHUP' } keydict = { 'Type' : 'CALLBACK', 'MSN' : 'CBCP_MSN', } intkeydict = { 'Delay' : 'CBDELAY' } def load(self, parentConf): conf = parentConf for selfkey in self.keydict.keys(): confkey = self.keydict[selfkey] if conf.has_key(confkey): setattr(self, selfkey, conf[confkey]) for selfkey in self.intkeydict.keys(): confkey = self.intkeydict[selfkey] if conf.has_key(confkey) and len(conf[confkey]): setattr(self, selfkey, int(conf[confkey])) for selfkey in self.boolkeydict.keys(): confkey = self.boolkeydict[selfkey] if conf.has_key(confkey): if conf[confkey] == 'on': setattr(self, selfkey, True) else: setattr(self, selfkey, False) else: setattr(self, selfkey, False) def save(self, parentConf): log.log(6, "in Callback.save") conf = parentConf for selfkey in self.keydict.keys(): confkey = self.keydict[selfkey] if hasattr(self, selfkey): conf[confkey] = getattr(self, selfkey) else: conf[confkey] = "" for selfkey in self.intkeydict.keys(): confkey = self.intkeydict[selfkey] if hasattr(self, selfkey): conf[confkey] = getattr(self, selfkey) else: conf[confkey] = "" for selfkey in self.boolkeydict.keys(): confkey = self.boolkeydict[selfkey] if hasattr(self, selfkey) and getattr(self, selfkey): conf[confkey] = 'on' else: conf[confkey] = 'off' log.log(6, "in Callback.save end") __author__ = "Harald Hoyer "