Skip to content

Commit 56c0f95

Browse files
committed
separate
1 parent 8f01d0f commit 56c0f95

File tree

2 files changed

+139
-128
lines changed

2 files changed

+139
-128
lines changed

include/phpx.h

Lines changed: 13 additions & 128 deletions
Original file line numberDiff line numberDiff line change
@@ -1555,7 +1555,7 @@ class Interface
15551555
methods.push_back(m);
15561556
return false;
15571557
}
1558-
string getName()
1558+
inline string getName()
15591559
{
15601560
return name;
15611561
}
@@ -1634,7 +1634,7 @@ class Extension
16341634

16351635
Extension(const char*name, const char *version);
16361636

1637-
void checkStartupStatus(enum StartupStatus status, const char *func)
1637+
void inline checkStartupStatus(enum StartupStatus status, const char *func)
16381638
{
16391639
if (status == AFTER_START && !this->started)
16401640
{
@@ -1646,133 +1646,18 @@ class Extension
16461646
}
16471647
}
16481648

1649-
bool registerClass(Class *c)
1650-
{
1651-
this->checkStartupStatus(AFTER_START, __func__);
1652-
c->activate();
1653-
class_map[c->getName()] = c;
1654-
return true;
1655-
}
1656-
1657-
bool registerInterface(Interface *i)
1658-
{
1659-
this->checkStartupStatus(AFTER_START, __func__);
1660-
i->activate();
1661-
interface_map[i->getName()] = i;
1662-
return true;
1663-
}
1664-
1649+
bool registerClass(Class *c);
1650+
bool registerInterface(Interface *i);
16651651
bool registerFunction(const char *name, function_t func, ArgInfo *info = nullptr);
1666-
1667-
bool registerResource(const char *name, resource_dtor dtor)
1668-
{
1669-
this->checkStartupStatus(AFTER_START, __func__);
1670-
Resource *res = new Resource;
1671-
int type = zend_register_list_destructors_ex(dtor, NULL, name, 0);
1672-
if (type < 0)
1673-
{
1674-
return false;
1675-
}
1676-
res->type = type;
1677-
res->name = name;
1678-
resource_map[name] = res;
1679-
return true;
1680-
}
1681-
1682-
bool registerConstant(const char *name, long v)
1683-
{
1684-
this->checkStartupStatus(AFTER_START, __func__);
1685-
zend_constant c;
1686-
ZVAL_LONG(&c.value, v);
1687-
c.flags = CONST_CS | CONST_PERSISTENT;
1688-
c.name = zend_string_init(name, strlen(name), c.flags);
1689-
c.module_number = module.module_number;
1690-
return zend_register_constant(&c);
1691-
}
1692-
1693-
bool registerConstant(const char *name, int v)
1694-
{
1695-
this->checkStartupStatus(AFTER_START, __func__);
1696-
zend_constant c;
1697-
ZVAL_LONG(&c.value, v);
1698-
c.flags = CONST_CS | CONST_PERSISTENT;
1699-
c.name = zend_string_init(name, strlen(name), c.flags);
1700-
c.module_number = module.module_number;
1701-
return zend_register_constant(&c);
1702-
}
1703-
1704-
bool registerConstant(const char *name, bool v)
1705-
{
1706-
this->checkStartupStatus(AFTER_START, __func__);
1707-
zend_constant c;
1708-
if (v)
1709-
{
1710-
ZVAL_TRUE(&c.value);
1711-
}
1712-
else
1713-
{
1714-
ZVAL_FALSE(&c.value);
1715-
}
1716-
c.flags = CONST_CS | CONST_PERSISTENT;
1717-
c.name = zend_string_init(name, strlen(name), c.flags);
1718-
c.module_number = module.module_number;
1719-
return zend_register_constant(&c);
1720-
}
1721-
1722-
bool registerConstant(const char *name, double v)
1723-
{
1724-
this->checkStartupStatus(AFTER_START, __func__);
1725-
zend_constant c;
1726-
ZVAL_DOUBLE(&c.value, v);
1727-
c.flags = CONST_CS | CONST_PERSISTENT;
1728-
c.name = zend_string_init(name, strlen(name), c.flags);
1729-
c.module_number = module.module_number;
1730-
return zend_register_constant(&c);
1731-
}
1732-
1733-
bool registerConstant(const char *name, float v)
1734-
{
1735-
this->checkStartupStatus(AFTER_START, __func__);
1736-
zend_constant c;
1737-
ZVAL_DOUBLE(&c.value, v);
1738-
c.flags = CONST_CS | CONST_PERSISTENT;
1739-
c.name = zend_string_init(name, strlen(name), c.flags);
1740-
c.module_number = module.module_number;
1741-
return zend_register_constant(&c);
1742-
}
1743-
1744-
bool registerConstant(const char *name, const char *v)
1745-
{
1746-
this->checkStartupStatus(AFTER_START, __func__);
1747-
zend_constant c;
1748-
ZVAL_STRING(&c.value, (char* )v);
1749-
c.flags = CONST_CS | CONST_PERSISTENT;
1750-
c.name = zend_string_init(name, strlen(name), c.flags);
1751-
c.module_number = module.module_number;
1752-
return zend_register_constant(&c);
1753-
}
1754-
1755-
bool registerConstant(const char *name, string &v)
1756-
{
1757-
this->checkStartupStatus(AFTER_START, __func__);
1758-
zend_constant c;
1759-
ZVAL_STRINGL(&c.value, (char * )v.c_str(), v.length());
1760-
c.flags = CONST_CS | CONST_PERSISTENT;
1761-
c.name = zend_string_init(name, strlen(name), c.flags);
1762-
c.module_number = module.module_number;
1763-
return zend_register_constant(&c);
1764-
}
1765-
1766-
bool registerConstant(const char *name, Variant &v)
1767-
{
1768-
this->checkStartupStatus(AFTER_START, __func__);
1769-
zend_constant c;
1770-
ZVAL_COPY(&c.value, v.ptr());
1771-
c.flags = CONST_CS;
1772-
c.name = zend_string_init(name, strlen(name), c.flags);
1773-
c.module_number = module.module_number;
1774-
return zend_register_constant(&c);
1775-
}
1652+
bool registerResource(const char *name, resource_dtor dtor);
1653+
bool registerConstant(const char *name, long v);
1654+
bool registerConstant(const char *name, int v);
1655+
bool registerConstant(const char *name, bool v);
1656+
bool registerConstant(const char *name, double v);
1657+
bool registerConstant(const char *name, float v);
1658+
bool registerConstant(const char *name, const char *v);
1659+
bool registerConstant(const char *name, string &v);
1660+
bool registerConstant(const char *name, Variant &v);
17761661

17771662
bool require(const char *name, const char *version = nullptr);
17781663

src/extension.cc

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,132 @@ bool Extension::require(const char *name, const char *version)
6868
return true;
6969
}
7070

71+
bool Extension::registerClass(Class *c)
72+
{
73+
this->checkStartupStatus(AFTER_START, __func__);
74+
c->activate();
75+
class_map[c->getName()] = c;
76+
return true;
77+
}
78+
79+
bool Extension::registerInterface(Interface *i)
80+
{
81+
this->checkStartupStatus(AFTER_START, __func__);
82+
i->activate();
83+
interface_map[i->getName()] = i;
84+
return true;
85+
}
86+
87+
bool Extension::registerResource(const char *name, resource_dtor dtor)
88+
{
89+
this->checkStartupStatus(AFTER_START, __func__);
90+
Resource *res = new Resource;
91+
int type = zend_register_list_destructors_ex(dtor, NULL, name, 0);
92+
if (type < 0)
93+
{
94+
return false;
95+
}
96+
res->type = type;
97+
res->name = name;
98+
resource_map[name] = res;
99+
return true;
100+
}
101+
102+
bool Extension::registerConstant(const char *name, long v)
103+
{
104+
this->checkStartupStatus(AFTER_START, __func__);
105+
zend_constant c;
106+
ZVAL_LONG(&c.value, v);
107+
c.flags = CONST_CS | CONST_PERSISTENT;
108+
c.name = zend_string_init(name, strlen(name), c.flags);
109+
c.module_number = module.module_number;
110+
return zend_register_constant(&c);
111+
}
112+
113+
bool Extension::registerConstant(const char *name, int v)
114+
{
115+
this->checkStartupStatus(AFTER_START, __func__);
116+
zend_constant c;
117+
ZVAL_LONG(&c.value, v);
118+
c.flags = CONST_CS | CONST_PERSISTENT;
119+
c.name = zend_string_init(name, strlen(name), c.flags);
120+
c.module_number = module.module_number;
121+
return zend_register_constant(&c);
122+
}
123+
124+
bool Extension::registerConstant(const char *name, bool v)
125+
{
126+
this->checkStartupStatus(AFTER_START, __func__);
127+
zend_constant c;
128+
if (v)
129+
{
130+
ZVAL_TRUE(&c.value);
131+
}
132+
else
133+
{
134+
ZVAL_FALSE(&c.value);
135+
}
136+
c.flags = CONST_CS | CONST_PERSISTENT;
137+
c.name = zend_string_init(name, strlen(name), c.flags);
138+
c.module_number = module.module_number;
139+
return zend_register_constant(&c);
140+
}
141+
142+
bool Extension::registerConstant(const char *name, double v)
143+
{
144+
this->checkStartupStatus(AFTER_START, __func__);
145+
zend_constant c;
146+
ZVAL_DOUBLE(&c.value, v);
147+
c.flags = CONST_CS | CONST_PERSISTENT;
148+
c.name = zend_string_init(name, strlen(name), c.flags);
149+
c.module_number = module.module_number;
150+
return zend_register_constant(&c);
151+
}
152+
153+
bool Extension::registerConstant(const char *name, float v)
154+
{
155+
this->checkStartupStatus(AFTER_START, __func__);
156+
zend_constant c;
157+
ZVAL_DOUBLE(&c.value, v);
158+
c.flags = CONST_CS | CONST_PERSISTENT;
159+
c.name = zend_string_init(name, strlen(name), c.flags);
160+
c.module_number = module.module_number;
161+
return zend_register_constant(&c);
162+
}
163+
164+
bool Extension::registerConstant(const char *name, const char *v)
165+
{
166+
this->checkStartupStatus(AFTER_START, __func__);
167+
zend_constant c;
168+
ZVAL_STRING(&c.value, (char* )v);
169+
c.flags = CONST_CS | CONST_PERSISTENT;
170+
c.name = zend_string_init(name, strlen(name), c.flags);
171+
c.module_number = module.module_number;
172+
return zend_register_constant(&c);
173+
}
174+
175+
bool Extension::registerConstant(const char *name, string &v)
176+
{
177+
this->checkStartupStatus(AFTER_START, __func__);
178+
zend_constant c;
179+
ZVAL_STRINGL(&c.value, (char * )v.c_str(), v.length());
180+
c.flags = CONST_CS | CONST_PERSISTENT;
181+
c.name = zend_string_init(name, strlen(name), c.flags);
182+
c.module_number = module.module_number;
183+
return zend_register_constant(&c);
184+
}
185+
186+
bool Extension::registerConstant(const char *name, Variant &v)
187+
{
188+
this->checkStartupStatus(AFTER_START, __func__);
189+
zend_constant c;
190+
ZVAL_COPY(&c.value, v.ptr());
191+
c.flags = CONST_CS;
192+
c.name = zend_string_init(name, strlen(name), c.flags);
193+
c.module_number = module.module_number;
194+
return zend_register_constant(&c);
195+
}
196+
71197
bool Extension::registerFunction(const char *name, function_t func, ArgInfo *info)
72198
{
73199
this->checkStartupStatus(BEFORE_START, __func__);

0 commit comments

Comments
 (0)