1 /*
   2  * CDDL HEADER START
   3  *
   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License (the "License").
   6  * You may not use this file except in compliance with the License.
   7  *
   8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9  * or http://www.opensolaris.org/os/licensing.
  10  * See the License for the specific language governing permissions
  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 /*
  22  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  23  * Use is subject to license terms.
  24  */
  25 package com.sun.dhcpmgr.server;
  26 
  27 import java.util.*;
  28 import java.net.InetAddress;
  29 
  30 import com.sun.dhcpmgr.bridge.*;
  31 import com.sun.dhcpmgr.data.*;
  32 
  33 /**
  34  * This interface defines the methods available for managing the dhcptab.
  35  */
  36 public interface DhcptabMgr {
  37     public Option createOption(String name, String value)
  38         throws BridgeException;
  39     public Option [] getOptions(DhcpDatastore datastore)
  40         throws BridgeException;
  41     public Option [] getOptions()
  42         throws BridgeException;
  43     public Macro [] getMacros(DhcpDatastore datastore)
  44         throws BridgeException;
  45     public Macro [] getMacros()
  46         throws BridgeException;
  47     public Macro getMacro(String key, DhcpDatastore datastore)
  48         throws BridgeException;
  49     public Macro getMacro(String key)
  50         throws BridgeException;
  51     public Option getOption(String key, DhcpDatastore datastore)
  52         throws BridgeException;
  53     public Option getOption(String key)
  54         throws BridgeException;
  55     public void createRecord(DhcptabRecord rec, boolean signalServer,
  56         DhcpDatastore datastore) throws BridgeException;
  57     public void createRecord(DhcptabRecord rec, boolean signalServer)
  58         throws BridgeException;
  59     public void modifyRecord(DhcptabRecord oldRec, DhcptabRecord newRec,
  60         boolean signalServer, DhcpDatastore datastore)
  61         throws BridgeException;
  62     public void modifyRecord(DhcptabRecord oldRec, DhcptabRecord newRec,
  63         boolean signalServer) throws BridgeException;
  64     public void deleteRecord(DhcptabRecord rec, boolean signalServer,
  65         DhcpDatastore datastore) throws BridgeException;
  66     public void deleteRecord(DhcptabRecord rec, boolean signalServer)
  67         throws BridgeException;
  68     public ActionError [] deleteAllMacros() throws BridgeException;
  69     public ActionError [] deleteAllOptions() throws BridgeException;
  70     public ActionError [] deleteMacros(String [] macroNames);
  71     public ActionError [] deleteOptions(String [] optionNames);
  72     public void cvtDhcptab(DhcpDatastore datastore)
  73         throws BridgeException;
  74     public void createDhcptab(DhcpDatastore datastore)
  75         throws BridgeException;
  76     public void createDhcptab()
  77         throws BridgeException;
  78     public void deleteDhcptab(DhcpDatastore datastore)
  79         throws BridgeException;
  80     public void deleteDhcptab()
  81         throws BridgeException;
  82     public void createLocaleMacro()
  83         throws BridgeException, ValidationException;
  84     public void createLocaleMacro(DhcpDatastore datastore)
  85         throws BridgeException, ValidationException;
  86     public void createServerMacro(String svrName, InetAddress svrAddress,
  87         int leaseLength, boolean leaseNegotiable, String dnsDomain,
  88         Vector dnsServs) throws BridgeException, ValidationException;
  89     public void createServerMacro(String svrName, InetAddress svrAddress,
  90         int leaseLength, boolean leaseNegotiable, String dnsDomain,
  91         Vector dnsServs, DhcpDatastore datastore)
  92         throws BridgeException, ValidationException;
  93     public void createNetworkMacro(Network network, IPAddress [] routers,
  94         boolean isLan, String nisDomain, Vector nisServs)
  95         throws BridgeException, ValidationException;
  96     public void createNetworkMacro(Network network, IPAddress [] routers,
  97         boolean isLan, String nisDomain, Vector nisServs,
  98         DhcpDatastore datastore)
  99         throws BridgeException, ValidationException;
 100 }