5 #ifndef CONFIG_NETOBJ_H 6 #define CONFIG_NETOBJ_H 11 class CUR_IPADDR4 :
public config_value
16 CUR_IPADDR4(
const char *name,
const char *desc =
NULL) : config_value(name, desc)
18 SetFlag(fConfigReadOnly | fConfigNoSave);
22 virtual void GetTextValue(NBString &s) { s.siprintf(
"\"%hI\"", i4); };
24 virtual ConfigTestResult TestNewValue(ParsedJsonDataSet &pjs) {
return eUnchanged; }
25 virtual void CommitTestedValue(uint32_t permission_mask){};
27 CUR_IPADDR4 &operator=(
const CUR_IPADDR4 &v)
32 CUR_IPADDR4 &operator=(
const IPADDR4 &v)
37 CUR_IPADDR4 &operator=(
const uint32_t v)
42 virtual void ExtendedSchema(
int fd,
int indent,
bool pretty) { DoSchemaLine(fd,
"format",
"ipv4", indent, pretty); };
43 virtual void GetTypeValue(NBString &s) { s =
"string"; };
44 operator IPADDR4() {
return i4; };
47 inline bool operator==(
const IPADDR4 i,
const CUR_IPADDR4 j)
51 inline bool operator!=(
const IPADDR4 i,
const CUR_IPADDR4 j)
55 inline bool operator>(
const IPADDR4 i,
const CUR_IPADDR4 j)
59 inline bool operator<(
const IPADDR4 i,
const CUR_IPADDR4 j)
64 inline bool operator==(
const CUR_IPADDR4 i,
const IPADDR4 j)
68 inline bool operator!=(
const CUR_IPADDR4 i,
const IPADDR4 j)
72 inline bool operator>(
const CUR_IPADDR4 i,
const IPADDR4 j)
76 inline bool operator<(
const CUR_IPADDR4 i,
const IPADDR4 j)
81 inline bool operator==(
const uint32_t i,
const CUR_IPADDR4 j)
85 inline bool operator!=(
const uint32_t i,
const CUR_IPADDR4 j)
89 inline bool operator>(
const uint32_t i,
const CUR_IPADDR4 j)
93 inline bool operator<(
const uint32_t i,
const CUR_IPADDR4 j)
98 inline bool operator==(
const CUR_IPADDR4 i,
const uint32_t j)
102 inline bool operator!=(
const CUR_IPADDR4 i,
const uint32_t j)
106 inline bool operator>(
const CUR_IPADDR4 i,
const uint32_t j)
110 inline bool operator<(
const CUR_IPADDR4 i,
const uint32_t j)
121 config_chooser mode{
"Mode",
"DHCP",
"DHCP,DHCP w Fallback,Static,Disabled",
122 "DHCP,DHCP with backup static address,Static preconfigured address,Disabled"};
123 config_IPADDR4 addr{
"0.0.0.0",
"StaticAddr",
"Configured IP Address"};
124 config_IPADDR4 mask{
"0.0.0.0",
"StaticMask",
"Configured IP Mask"};
125 config_IPADDR4 gate{
"0.0.0.0",
"StaticGate",
"Configured IP Gateway"};
126 config_IPADDR4 dns1{
"0.0.0.0",
"StaticDNS1",
"Configured IP DNS(1)"};
127 config_IPADDR4 dns2{
"0.0.0.0",
"StaticDNS2",
"Configured IP DNS(2)"};
129 config_bool autoip{
true,
"AutoIPEn"};
131 CUR_IPADDR4 cur_addr{
"ActiveAddr",
"Current IPV4 address in use"};
132 CUR_IPADDR4 cur_mask{
"ActiveMask",
"Current IPV4 mask in use"};
133 CUR_IPADDR4 cur_gate{
"ActiveGate",
"Current IPV4 gateway in use"};
134 CUR_IPADDR4 cur_dns1{
"ActiveDNS1",
"Current IPV4 dns(1) in use"};
135 CUR_IPADDR4 cur_dns2{
"ActiveDNS2",
"Current IPV4 dns(2) in use"};
136 CUR_IPADDR4 cur_auto{
"AutoIPAddr",
"Current IPV4 auto address in use"};
140 I4Record(
const char *name,
const char *desc =
NULL) :
config_obj(name, desc) { m_pBlock_if = 0; };
141 void Attach(
void *pb) { m_pBlock_if = pb; }
142 void GetReportItem(NBString &s,
int item);
148 class Dynamic_IPADDR6 :
public config_value
155 virtual void GetTextValue(NBString &s);
157 Dynamic_IPADDR6(
const char *name,
int item, I6Record *pI6,
const char *desc =
NULL) : config_value(name, desc)
161 SetFlag(fConfigReadOnly | fConfigNoSave);
164 virtual ConfigTestResult TestNewValue(ParsedJsonDataSet &pjs) {
return eUnchanged; }
165 virtual void CommitTestedValue(uint32_t permission_mask){};
166 void AddToJsonOutObject(ParsedJsonDataSet &jo,
const char *name);
167 virtual void ExtendedSchema(
int fd,
int indent,
bool pretty) { DoSchemaLine(fd,
"format",
"ipv6", indent, pretty); };
168 virtual void GetTypeValue(NBString &s) { s =
"array"; };
176 config_chooser mode{
"Mode",
"DHCP",
"DHCP,DHCP w Fallback,Static,Disabled",
177 "DHCP,DHCP with backup static address,Static preconfigured address,Disabled"};
178 config_IPADDR6 addr{
"0::0",
"StaticAddr",
"Configured IPV6 address"};
179 config_IPADDR6 dns1{
"0::0",
"StaticDNS1",
"Configured IPV6 DNS(1)"};
180 config_IPADDR6 dns2{
"0::0",
"StaticDNS2",
"Configured IPV6 DNS(2)"};
182 Dynamic_IPADDR6 address_list{
"ActiveAddr", 0,
this,
"Active currently in user IPV6 addres(s)"};
183 Dynamic_IPADDR6 dns_list{
"ActiveDNS", 1,
this,
"Active currently in user IPV6 DNS(s)"};
184 Dynamic_IPADDR6 route_list{
"ActiveRoute", 2,
this,
"Active currently in user IPV6 routes"};
188 I6Record(
const char *name,
const char *desc =
NULL) :
config_obj(name, desc) { m_nIf = -1; };
189 void Attach(
int nif) { m_nIf = nif; };
190 void ReportGetTextValue(NBString &s,
int item);
191 int GetnIf() {
return m_nIf; };
Definition: config_obj.h:134
Configuration object header file.
#define NULL
Definition: nm_bsp.h:76