gparamspecs.h 33 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151
  1. /* GObject - GLib Type, Object, Parameter and Signal Library
  2. * Copyright (C) 1997-1999, 2000-2001 Tim Janik and Red Hat, Inc.
  3. *
  4. * SPDX-License-Identifier: LGPL-2.1-or-later
  5. *
  6. * This library is free software; you can redistribute it and/or
  7. * modify it under the terms of the GNU Lesser General Public
  8. * License as published by the Free Software Foundation; either
  9. * version 2.1 of the License, or (at your option) any later version.
  10. *
  11. * This library is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * Lesser General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU Lesser General
  17. * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
  18. *
  19. * gparamspecs.h: GLib default param specs
  20. */
  21. #ifndef __G_PARAMSPECS_H__
  22. #define __G_PARAMSPECS_H__
  23. #if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION)
  24. #error "Only <glib-object.h> can be included directly."
  25. #endif
  26. #include <gobject/gvalue.h>
  27. #include <gobject/genums.h>
  28. #include <gobject/gboxed.h>
  29. #include <gobject/gobject.h>
  30. G_BEGIN_DECLS
  31. /* --- type macros --- */
  32. /**
  33. * G_TYPE_PARAM_CHAR:
  34. *
  35. * The #GType of #GParamSpecChar.
  36. */
  37. #define G_TYPE_PARAM_CHAR (g_param_spec_types[0])
  38. /**
  39. * G_IS_PARAM_SPEC_CHAR:
  40. * @pspec: a valid #GParamSpec instance
  41. *
  42. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_CHAR.
  43. *
  44. * Returns: %TRUE on success.
  45. */
  46. #define G_IS_PARAM_SPEC_CHAR(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_CHAR))
  47. /**
  48. * G_PARAM_SPEC_CHAR:
  49. * @pspec: a valid #GParamSpec instance
  50. *
  51. * Cast a #GParamSpec instance into a #GParamSpecChar.
  52. */
  53. #define G_PARAM_SPEC_CHAR(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_CHAR, GParamSpecChar))
  54. /**
  55. * G_TYPE_PARAM_UCHAR:
  56. *
  57. * The #GType of #GParamSpecUChar.
  58. */
  59. #define G_TYPE_PARAM_UCHAR (g_param_spec_types[1])
  60. /**
  61. * G_IS_PARAM_SPEC_UCHAR:
  62. * @pspec: a valid #GParamSpec instance
  63. *
  64. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UCHAR.
  65. *
  66. * Returns: %TRUE on success.
  67. */
  68. #define G_IS_PARAM_SPEC_UCHAR(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UCHAR))
  69. /**
  70. * G_PARAM_SPEC_UCHAR:
  71. * @pspec: a valid #GParamSpec instance
  72. *
  73. * Cast a #GParamSpec instance into a #GParamSpecUChar.
  74. */
  75. #define G_PARAM_SPEC_UCHAR(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UCHAR, GParamSpecUChar))
  76. /**
  77. * G_TYPE_PARAM_BOOLEAN:
  78. *
  79. * The #GType of #GParamSpecBoolean.
  80. */
  81. #define G_TYPE_PARAM_BOOLEAN (g_param_spec_types[2])
  82. /**
  83. * G_IS_PARAM_SPEC_BOOLEAN:
  84. * @pspec: a valid #GParamSpec instance
  85. *
  86. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_BOOLEAN.
  87. *
  88. * Returns: %TRUE on success.
  89. */
  90. #define G_IS_PARAM_SPEC_BOOLEAN(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOOLEAN))
  91. /**
  92. * G_PARAM_SPEC_BOOLEAN:
  93. * @pspec: a valid #GParamSpec instance
  94. *
  95. * Cast a #GParamSpec instance into a #GParamSpecBoolean.
  96. */
  97. #define G_PARAM_SPEC_BOOLEAN(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOOLEAN, GParamSpecBoolean))
  98. /**
  99. * G_TYPE_PARAM_INT:
  100. *
  101. * The #GType of #GParamSpecInt.
  102. */
  103. #define G_TYPE_PARAM_INT (g_param_spec_types[3])
  104. /**
  105. * G_IS_PARAM_SPEC_INT:
  106. * @pspec: a valid #GParamSpec instance
  107. *
  108. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_INT.
  109. *
  110. * Returns: %TRUE on success.
  111. */
  112. #define G_IS_PARAM_SPEC_INT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT))
  113. /**
  114. * G_PARAM_SPEC_INT:
  115. * @pspec: a valid #GParamSpec instance
  116. *
  117. * Cast a #GParamSpec instance into a #GParamSpecInt.
  118. */
  119. #define G_PARAM_SPEC_INT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT, GParamSpecInt))
  120. /**
  121. * G_TYPE_PARAM_UINT:
  122. *
  123. * The #GType of #GParamSpecUInt.
  124. */
  125. #define G_TYPE_PARAM_UINT (g_param_spec_types[4])
  126. /**
  127. * G_IS_PARAM_SPEC_UINT:
  128. * @pspec: a valid #GParamSpec instance
  129. *
  130. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UINT.
  131. *
  132. * Returns: %TRUE on success.
  133. */
  134. #define G_IS_PARAM_SPEC_UINT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT))
  135. /**
  136. * G_PARAM_SPEC_UINT:
  137. * @pspec: a valid #GParamSpec instance
  138. *
  139. * Cast a #GParamSpec instance into a #GParamSpecUInt.
  140. */
  141. #define G_PARAM_SPEC_UINT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT, GParamSpecUInt))
  142. /**
  143. * G_TYPE_PARAM_LONG:
  144. *
  145. * The #GType of #GParamSpecLong.
  146. */
  147. #define G_TYPE_PARAM_LONG (g_param_spec_types[5])
  148. /**
  149. * G_IS_PARAM_SPEC_LONG:
  150. * @pspec: a valid #GParamSpec instance
  151. *
  152. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_LONG.
  153. *
  154. * Returns: %TRUE on success.
  155. */
  156. #define G_IS_PARAM_SPEC_LONG(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_LONG))
  157. /**
  158. * G_PARAM_SPEC_LONG:
  159. * @pspec: a valid #GParamSpec instance
  160. *
  161. * Cast a #GParamSpec instance into a #GParamSpecLong.
  162. */
  163. #define G_PARAM_SPEC_LONG(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_LONG, GParamSpecLong))
  164. /**
  165. * G_TYPE_PARAM_ULONG:
  166. *
  167. * The #GType of #GParamSpecULong.
  168. */
  169. #define G_TYPE_PARAM_ULONG (g_param_spec_types[6])
  170. /**
  171. * G_IS_PARAM_SPEC_ULONG:
  172. * @pspec: a valid #GParamSpec instance
  173. *
  174. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_ULONG.
  175. *
  176. * Returns: %TRUE on success.
  177. */
  178. #define G_IS_PARAM_SPEC_ULONG(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ULONG))
  179. /**
  180. * G_PARAM_SPEC_ULONG:
  181. * @pspec: a valid #GParamSpec instance
  182. *
  183. * Cast a #GParamSpec instance into a #GParamSpecULong.
  184. */
  185. #define G_PARAM_SPEC_ULONG(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ULONG, GParamSpecULong))
  186. /**
  187. * G_TYPE_PARAM_INT64:
  188. *
  189. * The #GType of #GParamSpecInt64.
  190. */
  191. #define G_TYPE_PARAM_INT64 (g_param_spec_types[7])
  192. /**
  193. * G_IS_PARAM_SPEC_INT64:
  194. * @pspec: a valid #GParamSpec instance
  195. *
  196. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_INT64.
  197. *
  198. * Returns: %TRUE on success.
  199. */
  200. #define G_IS_PARAM_SPEC_INT64(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT64))
  201. /**
  202. * G_PARAM_SPEC_INT64:
  203. * @pspec: a valid #GParamSpec instance
  204. *
  205. * Cast a #GParamSpec instance into a #GParamSpecInt64.
  206. */
  207. #define G_PARAM_SPEC_INT64(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT64, GParamSpecInt64))
  208. /**
  209. * G_TYPE_PARAM_UINT64:
  210. *
  211. * The #GType of #GParamSpecUInt64.
  212. */
  213. #define G_TYPE_PARAM_UINT64 (g_param_spec_types[8])
  214. /**
  215. * G_IS_PARAM_SPEC_UINT64:
  216. * @pspec: a valid #GParamSpec instance
  217. *
  218. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UINT64.
  219. *
  220. * Returns: %TRUE on success.
  221. */
  222. #define G_IS_PARAM_SPEC_UINT64(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT64))
  223. /**
  224. * G_PARAM_SPEC_UINT64:
  225. * @pspec: a valid #GParamSpec instance
  226. *
  227. * Cast a #GParamSpec instance into a #GParamSpecUInt64.
  228. */
  229. #define G_PARAM_SPEC_UINT64(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT64, GParamSpecUInt64))
  230. /**
  231. * G_TYPE_PARAM_UNICHAR:
  232. *
  233. * The #GType of #GParamSpecUnichar.
  234. */
  235. #define G_TYPE_PARAM_UNICHAR (g_param_spec_types[9])
  236. /**
  237. * G_PARAM_SPEC_UNICHAR:
  238. * @pspec: a valid #GParamSpec instance
  239. *
  240. * Cast a #GParamSpec instance into a #GParamSpecUnichar.
  241. */
  242. #define G_PARAM_SPEC_UNICHAR(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UNICHAR, GParamSpecUnichar))
  243. /**
  244. * G_IS_PARAM_SPEC_UNICHAR:
  245. * @pspec: a valid #GParamSpec instance
  246. *
  247. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UNICHAR.
  248. *
  249. * Returns: %TRUE on success.
  250. */
  251. #define G_IS_PARAM_SPEC_UNICHAR(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UNICHAR))
  252. /**
  253. * G_TYPE_PARAM_ENUM:
  254. *
  255. * The #GType of #GParamSpecEnum.
  256. */
  257. #define G_TYPE_PARAM_ENUM (g_param_spec_types[10])
  258. /**
  259. * G_IS_PARAM_SPEC_ENUM:
  260. * @pspec: a valid #GParamSpec instance
  261. *
  262. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_ENUM.
  263. *
  264. * Returns: %TRUE on success.
  265. */
  266. #define G_IS_PARAM_SPEC_ENUM(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ENUM))
  267. /**
  268. * G_PARAM_SPEC_ENUM:
  269. * @pspec: a valid #GParamSpec instance
  270. *
  271. * Cast a #GParamSpec instance into a #GParamSpecEnum.
  272. */
  273. #define G_PARAM_SPEC_ENUM(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ENUM, GParamSpecEnum))
  274. /**
  275. * G_TYPE_PARAM_FLAGS:
  276. *
  277. * The #GType of #GParamSpecFlags.
  278. */
  279. #define G_TYPE_PARAM_FLAGS (g_param_spec_types[11])
  280. /**
  281. * G_IS_PARAM_SPEC_FLAGS:
  282. * @pspec: a valid #GParamSpec instance
  283. *
  284. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_FLAGS.
  285. *
  286. * Returns: %TRUE on success.
  287. */
  288. #define G_IS_PARAM_SPEC_FLAGS(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLAGS))
  289. /**
  290. * G_PARAM_SPEC_FLAGS:
  291. * @pspec: a valid #GParamSpec instance
  292. *
  293. * Cast a #GParamSpec instance into a #GParamSpecFlags.
  294. */
  295. #define G_PARAM_SPEC_FLAGS(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLAGS, GParamSpecFlags))
  296. /**
  297. * G_TYPE_PARAM_FLOAT:
  298. *
  299. * The #GType of #GParamSpecFloat.
  300. */
  301. #define G_TYPE_PARAM_FLOAT (g_param_spec_types[12])
  302. /**
  303. * G_IS_PARAM_SPEC_FLOAT:
  304. * @pspec: a valid #GParamSpec instance
  305. *
  306. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_FLOAT.
  307. *
  308. * Returns: %TRUE on success.
  309. */
  310. #define G_IS_PARAM_SPEC_FLOAT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLOAT))
  311. /**
  312. * G_PARAM_SPEC_FLOAT:
  313. * @pspec: a valid #GParamSpec instance
  314. *
  315. * Cast a #GParamSpec instance into a #GParamSpecFloat.
  316. */
  317. #define G_PARAM_SPEC_FLOAT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLOAT, GParamSpecFloat))
  318. /**
  319. * G_TYPE_PARAM_DOUBLE:
  320. *
  321. * The #GType of #GParamSpecDouble.
  322. */
  323. #define G_TYPE_PARAM_DOUBLE (g_param_spec_types[13])
  324. /**
  325. * G_IS_PARAM_SPEC_DOUBLE:
  326. * @pspec: a valid #GParamSpec instance
  327. *
  328. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_DOUBLE.
  329. *
  330. * Returns: %TRUE on success.
  331. */
  332. #define G_IS_PARAM_SPEC_DOUBLE(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_DOUBLE))
  333. /**
  334. * G_PARAM_SPEC_DOUBLE:
  335. * @pspec: a valid #GParamSpec instance
  336. *
  337. * Cast a #GParamSpec instance into a #GParamSpecDouble.
  338. */
  339. #define G_PARAM_SPEC_DOUBLE(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_DOUBLE, GParamSpecDouble))
  340. /**
  341. * G_TYPE_PARAM_STRING:
  342. *
  343. * The #GType of #GParamSpecString.
  344. */
  345. #define G_TYPE_PARAM_STRING (g_param_spec_types[14])
  346. /**
  347. * G_IS_PARAM_SPEC_STRING:
  348. * @pspec: a valid #GParamSpec instance
  349. *
  350. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_STRING.
  351. *
  352. * Returns: %TRUE on success.
  353. */
  354. #define G_IS_PARAM_SPEC_STRING(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_STRING))
  355. /**
  356. * G_PARAM_SPEC_STRING:
  357. * @pspec: a valid #GParamSpec instance
  358. *
  359. * Casts a #GParamSpec instance into a #GParamSpecString.
  360. */
  361. #define G_PARAM_SPEC_STRING(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_STRING, GParamSpecString))
  362. /**
  363. * G_TYPE_PARAM_PARAM:
  364. *
  365. * The #GType of #GParamSpecParam.
  366. */
  367. #define G_TYPE_PARAM_PARAM (g_param_spec_types[15])
  368. /**
  369. * G_IS_PARAM_SPEC_PARAM:
  370. * @pspec: a valid #GParamSpec instance
  371. *
  372. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_PARAM.
  373. *
  374. * Returns: %TRUE on success.
  375. */
  376. #define G_IS_PARAM_SPEC_PARAM(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_PARAM))
  377. /**
  378. * G_PARAM_SPEC_PARAM:
  379. * @pspec: a valid #GParamSpec instance
  380. *
  381. * Casts a #GParamSpec instance into a #GParamSpecParam.
  382. */
  383. #define G_PARAM_SPEC_PARAM(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_PARAM, GParamSpecParam))
  384. /**
  385. * G_TYPE_PARAM_BOXED:
  386. *
  387. * The #GType of #GParamSpecBoxed.
  388. */
  389. #define G_TYPE_PARAM_BOXED (g_param_spec_types[16])
  390. /**
  391. * G_IS_PARAM_SPEC_BOXED:
  392. * @pspec: a valid #GParamSpec instance
  393. *
  394. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_BOXED.
  395. *
  396. * Returns: %TRUE on success.
  397. */
  398. #define G_IS_PARAM_SPEC_BOXED(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOXED))
  399. /**
  400. * G_PARAM_SPEC_BOXED:
  401. * @pspec: a valid #GParamSpec instance
  402. *
  403. * Cast a #GParamSpec instance into a #GParamSpecBoxed.
  404. */
  405. #define G_PARAM_SPEC_BOXED(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOXED, GParamSpecBoxed))
  406. /**
  407. * G_TYPE_PARAM_POINTER:
  408. *
  409. * The #GType of #GParamSpecPointer.
  410. */
  411. #define G_TYPE_PARAM_POINTER (g_param_spec_types[17])
  412. /**
  413. * G_IS_PARAM_SPEC_POINTER:
  414. * @pspec: a valid #GParamSpec instance
  415. *
  416. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_POINTER.
  417. *
  418. * Returns: %TRUE on success.
  419. */
  420. #define G_IS_PARAM_SPEC_POINTER(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_POINTER))
  421. /**
  422. * G_PARAM_SPEC_POINTER:
  423. * @pspec: a valid #GParamSpec instance
  424. *
  425. * Casts a #GParamSpec instance into a #GParamSpecPointer.
  426. */
  427. #define G_PARAM_SPEC_POINTER(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_POINTER, GParamSpecPointer))
  428. /**
  429. * G_TYPE_PARAM_VALUE_ARRAY:
  430. *
  431. * The #GType of #GParamSpecValueArray.
  432. *
  433. * Deprecated: 2.32: Use #GArray instead of #GValueArray
  434. */
  435. #define G_TYPE_PARAM_VALUE_ARRAY (g_param_spec_types[18]) GOBJECT_DEPRECATED_MACRO_IN_2_32
  436. /**
  437. * G_IS_PARAM_SPEC_VALUE_ARRAY:
  438. * @pspec: a valid #GParamSpec instance
  439. *
  440. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_VALUE_ARRAY.
  441. *
  442. * Returns: %TRUE on success.
  443. *
  444. * Deprecated: 2.32: Use #GArray instead of #GValueArray
  445. */
  446. #define G_IS_PARAM_SPEC_VALUE_ARRAY(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_VALUE_ARRAY)) GOBJECT_DEPRECATED_MACRO_IN_2_32
  447. /**
  448. * G_PARAM_SPEC_VALUE_ARRAY:
  449. * @pspec: a valid #GParamSpec instance
  450. *
  451. * Cast a #GParamSpec instance into a #GParamSpecValueArray.
  452. *
  453. * Deprecated: 2.32: Use #GArray instead of #GValueArray
  454. */
  455. #define G_PARAM_SPEC_VALUE_ARRAY(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_VALUE_ARRAY, GParamSpecValueArray)) GOBJECT_DEPRECATED_MACRO_IN_2_32
  456. /**
  457. * G_TYPE_PARAM_OBJECT:
  458. *
  459. * The #GType of #GParamSpecObject.
  460. */
  461. #define G_TYPE_PARAM_OBJECT (g_param_spec_types[19])
  462. /**
  463. * G_IS_PARAM_SPEC_OBJECT:
  464. * @pspec: a valid #GParamSpec instance
  465. *
  466. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_OBJECT.
  467. *
  468. * Returns: %TRUE on success.
  469. */
  470. #define G_IS_PARAM_SPEC_OBJECT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OBJECT))
  471. /**
  472. * G_PARAM_SPEC_OBJECT:
  473. * @pspec: a valid #GParamSpec instance
  474. *
  475. * Casts a #GParamSpec instance into a #GParamSpecObject.
  476. */
  477. #define G_PARAM_SPEC_OBJECT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OBJECT, GParamSpecObject))
  478. /**
  479. * G_TYPE_PARAM_OVERRIDE:
  480. *
  481. * The #GType of #GParamSpecOverride.
  482. *
  483. * Since: 2.4
  484. */
  485. #define G_TYPE_PARAM_OVERRIDE (g_param_spec_types[20])
  486. /**
  487. * G_IS_PARAM_SPEC_OVERRIDE:
  488. * @pspec: a #GParamSpec
  489. *
  490. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_OVERRIDE.
  491. *
  492. * Since: 2.4
  493. * Returns: %TRUE on success.
  494. */
  495. #define G_IS_PARAM_SPEC_OVERRIDE(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OVERRIDE))
  496. /**
  497. * G_PARAM_SPEC_OVERRIDE:
  498. * @pspec: a #GParamSpec
  499. *
  500. * Casts a #GParamSpec into a #GParamSpecOverride.
  501. *
  502. * Since: 2.4
  503. */
  504. #define G_PARAM_SPEC_OVERRIDE(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OVERRIDE, GParamSpecOverride))
  505. /**
  506. * G_TYPE_PARAM_GTYPE:
  507. *
  508. * The #GType of #GParamSpecGType.
  509. *
  510. * Since: 2.10
  511. */
  512. #define G_TYPE_PARAM_GTYPE (g_param_spec_types[21])
  513. /**
  514. * G_IS_PARAM_SPEC_GTYPE:
  515. * @pspec: a #GParamSpec
  516. *
  517. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_GTYPE.
  518. *
  519. * Since: 2.10
  520. * Returns: %TRUE on success.
  521. */
  522. #define G_IS_PARAM_SPEC_GTYPE(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_GTYPE))
  523. /**
  524. * G_PARAM_SPEC_GTYPE:
  525. * @pspec: a #GParamSpec
  526. *
  527. * Casts a #GParamSpec into a #GParamSpecGType.
  528. *
  529. * Since: 2.10
  530. */
  531. #define G_PARAM_SPEC_GTYPE(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_GTYPE, GParamSpecGType))
  532. /**
  533. * G_TYPE_PARAM_VARIANT:
  534. *
  535. * The #GType of #GParamSpecVariant.
  536. *
  537. * Since: 2.26
  538. */
  539. #define G_TYPE_PARAM_VARIANT (g_param_spec_types[22])
  540. /**
  541. * G_IS_PARAM_SPEC_VARIANT:
  542. * @pspec: a #GParamSpec
  543. *
  544. * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_VARIANT.
  545. *
  546. * Returns: %TRUE on success
  547. *
  548. * Since: 2.26
  549. */
  550. #define G_IS_PARAM_SPEC_VARIANT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_VARIANT))
  551. /**
  552. * G_PARAM_SPEC_VARIANT:
  553. * @pspec: a #GParamSpec
  554. *
  555. * Casts a #GParamSpec into a #GParamSpecVariant.
  556. *
  557. * Since: 2.26
  558. */
  559. #define G_PARAM_SPEC_VARIANT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_VARIANT, GParamSpecVariant))
  560. /* --- typedefs & structures --- */
  561. typedef struct _GParamSpecChar GParamSpecChar;
  562. typedef struct _GParamSpecUChar GParamSpecUChar;
  563. typedef struct _GParamSpecBoolean GParamSpecBoolean;
  564. typedef struct _GParamSpecInt GParamSpecInt;
  565. typedef struct _GParamSpecUInt GParamSpecUInt;
  566. typedef struct _GParamSpecLong GParamSpecLong;
  567. typedef struct _GParamSpecULong GParamSpecULong;
  568. typedef struct _GParamSpecInt64 GParamSpecInt64;
  569. typedef struct _GParamSpecUInt64 GParamSpecUInt64;
  570. typedef struct _GParamSpecUnichar GParamSpecUnichar;
  571. typedef struct _GParamSpecEnum GParamSpecEnum;
  572. typedef struct _GParamSpecFlags GParamSpecFlags;
  573. typedef struct _GParamSpecFloat GParamSpecFloat;
  574. typedef struct _GParamSpecDouble GParamSpecDouble;
  575. typedef struct _GParamSpecString GParamSpecString;
  576. typedef struct _GParamSpecParam GParamSpecParam;
  577. typedef struct _GParamSpecBoxed GParamSpecBoxed;
  578. typedef struct _GParamSpecPointer GParamSpecPointer;
  579. typedef struct _GParamSpecValueArray GParamSpecValueArray;
  580. typedef struct _GParamSpecObject GParamSpecObject;
  581. typedef struct _GParamSpecOverride GParamSpecOverride;
  582. typedef struct _GParamSpecGType GParamSpecGType;
  583. typedef struct _GParamSpecVariant GParamSpecVariant;
  584. /**
  585. * GParamSpecChar:
  586. * @parent_instance: private #GParamSpec portion
  587. * @minimum: minimum value for the property specified
  588. * @maximum: maximum value for the property specified
  589. * @default_value: default value for the property specified
  590. *
  591. * A #GParamSpec derived structure that contains the meta data for character properties.
  592. */
  593. struct _GParamSpecChar
  594. {
  595. GParamSpec parent_instance;
  596. gint8 minimum;
  597. gint8 maximum;
  598. gint8 default_value;
  599. };
  600. /**
  601. * GParamSpecUChar:
  602. * @parent_instance: private #GParamSpec portion
  603. * @minimum: minimum value for the property specified
  604. * @maximum: maximum value for the property specified
  605. * @default_value: default value for the property specified
  606. *
  607. * A #GParamSpec derived structure that contains the meta data for unsigned character properties.
  608. */
  609. struct _GParamSpecUChar
  610. {
  611. GParamSpec parent_instance;
  612. guint8 minimum;
  613. guint8 maximum;
  614. guint8 default_value;
  615. };
  616. /**
  617. * GParamSpecBoolean:
  618. * @parent_instance: private #GParamSpec portion
  619. * @default_value: default value for the property specified
  620. *
  621. * A #GParamSpec derived structure that contains the meta data for boolean properties.
  622. */
  623. struct _GParamSpecBoolean
  624. {
  625. GParamSpec parent_instance;
  626. gboolean default_value;
  627. };
  628. /**
  629. * GParamSpecInt:
  630. * @parent_instance: private #GParamSpec portion
  631. * @minimum: minimum value for the property specified
  632. * @maximum: maximum value for the property specified
  633. * @default_value: default value for the property specified
  634. *
  635. * A #GParamSpec derived structure that contains the meta data for integer properties.
  636. */
  637. struct _GParamSpecInt
  638. {
  639. GParamSpec parent_instance;
  640. gint minimum;
  641. gint maximum;
  642. gint default_value;
  643. };
  644. /**
  645. * GParamSpecUInt:
  646. * @parent_instance: private #GParamSpec portion
  647. * @minimum: minimum value for the property specified
  648. * @maximum: maximum value for the property specified
  649. * @default_value: default value for the property specified
  650. *
  651. * A #GParamSpec derived structure that contains the meta data for unsigned integer properties.
  652. */
  653. struct _GParamSpecUInt
  654. {
  655. GParamSpec parent_instance;
  656. guint minimum;
  657. guint maximum;
  658. guint default_value;
  659. };
  660. /**
  661. * GParamSpecLong:
  662. * @parent_instance: private #GParamSpec portion
  663. * @minimum: minimum value for the property specified
  664. * @maximum: maximum value for the property specified
  665. * @default_value: default value for the property specified
  666. *
  667. * A #GParamSpec derived structure that contains the meta data for long integer properties.
  668. */
  669. struct _GParamSpecLong
  670. {
  671. GParamSpec parent_instance;
  672. glong minimum;
  673. glong maximum;
  674. glong default_value;
  675. };
  676. /**
  677. * GParamSpecULong:
  678. * @parent_instance: private #GParamSpec portion
  679. * @minimum: minimum value for the property specified
  680. * @maximum: maximum value for the property specified
  681. * @default_value: default value for the property specified
  682. *
  683. * A #GParamSpec derived structure that contains the meta data for unsigned long integer properties.
  684. */
  685. struct _GParamSpecULong
  686. {
  687. GParamSpec parent_instance;
  688. gulong minimum;
  689. gulong maximum;
  690. gulong default_value;
  691. };
  692. /**
  693. * GParamSpecInt64:
  694. * @parent_instance: private #GParamSpec portion
  695. * @minimum: minimum value for the property specified
  696. * @maximum: maximum value for the property specified
  697. * @default_value: default value for the property specified
  698. *
  699. * A #GParamSpec derived structure that contains the meta data for 64bit integer properties.
  700. */
  701. struct _GParamSpecInt64
  702. {
  703. GParamSpec parent_instance;
  704. gint64 minimum;
  705. gint64 maximum;
  706. gint64 default_value;
  707. };
  708. /**
  709. * GParamSpecUInt64:
  710. * @parent_instance: private #GParamSpec portion
  711. * @minimum: minimum value for the property specified
  712. * @maximum: maximum value for the property specified
  713. * @default_value: default value for the property specified
  714. *
  715. * A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties.
  716. */
  717. struct _GParamSpecUInt64
  718. {
  719. GParamSpec parent_instance;
  720. guint64 minimum;
  721. guint64 maximum;
  722. guint64 default_value;
  723. };
  724. /**
  725. * GParamSpecUnichar:
  726. * @parent_instance: private #GParamSpec portion
  727. * @default_value: default value for the property specified
  728. *
  729. * A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties.
  730. */
  731. struct _GParamSpecUnichar
  732. {
  733. GParamSpec parent_instance;
  734. gunichar default_value;
  735. };
  736. /**
  737. * GParamSpecEnum:
  738. * @parent_instance: private #GParamSpec portion
  739. * @enum_class: the #GEnumClass for the enum
  740. * @default_value: default value for the property specified
  741. *
  742. * A #GParamSpec derived structure that contains the meta data for enum
  743. * properties.
  744. */
  745. struct _GParamSpecEnum
  746. {
  747. GParamSpec parent_instance;
  748. GEnumClass *enum_class;
  749. gint default_value;
  750. };
  751. /**
  752. * GParamSpecFlags:
  753. * @parent_instance: private #GParamSpec portion
  754. * @flags_class: the #GFlagsClass for the flags
  755. * @default_value: default value for the property specified
  756. *
  757. * A #GParamSpec derived structure that contains the meta data for flags
  758. * properties.
  759. */
  760. struct _GParamSpecFlags
  761. {
  762. GParamSpec parent_instance;
  763. GFlagsClass *flags_class;
  764. guint default_value;
  765. };
  766. /**
  767. * GParamSpecFloat:
  768. * @parent_instance: private #GParamSpec portion
  769. * @minimum: minimum value for the property specified
  770. * @maximum: maximum value for the property specified
  771. * @default_value: default value for the property specified
  772. * @epsilon: values closer than @epsilon will be considered identical
  773. * by g_param_values_cmp(); the default value is 1e-30.
  774. *
  775. * A #GParamSpec derived structure that contains the meta data for float properties.
  776. */
  777. struct _GParamSpecFloat
  778. {
  779. GParamSpec parent_instance;
  780. gfloat minimum;
  781. gfloat maximum;
  782. gfloat default_value;
  783. gfloat epsilon;
  784. };
  785. /**
  786. * GParamSpecDouble:
  787. * @parent_instance: private #GParamSpec portion
  788. * @minimum: minimum value for the property specified
  789. * @maximum: maximum value for the property specified
  790. * @default_value: default value for the property specified
  791. * @epsilon: values closer than @epsilon will be considered identical
  792. * by g_param_values_cmp(); the default value is 1e-90.
  793. *
  794. * A #GParamSpec derived structure that contains the meta data for double properties.
  795. */
  796. struct _GParamSpecDouble
  797. {
  798. GParamSpec parent_instance;
  799. gdouble minimum;
  800. gdouble maximum;
  801. gdouble default_value;
  802. gdouble epsilon;
  803. };
  804. /**
  805. * GParamSpecString:
  806. * @parent_instance: private #GParamSpec portion
  807. * @default_value: default value for the property specified
  808. * @cset_first: a string containing the allowed values for the first byte
  809. * @cset_nth: a string containing the allowed values for the subsequent bytes
  810. * @substitutor: the replacement byte for bytes which don't match @cset_first or @cset_nth.
  811. * @null_fold_if_empty: replace empty string by %NULL
  812. * @ensure_non_null: replace %NULL strings by an empty string
  813. *
  814. * A #GParamSpec derived structure that contains the meta data for string
  815. * properties.
  816. */
  817. struct _GParamSpecString
  818. {
  819. GParamSpec parent_instance;
  820. gchar *default_value;
  821. gchar *cset_first;
  822. gchar *cset_nth;
  823. gchar substitutor;
  824. guint null_fold_if_empty : 1;
  825. guint ensure_non_null : 1;
  826. };
  827. /**
  828. * GParamSpecParam:
  829. * @parent_instance: private #GParamSpec portion
  830. *
  831. * A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM
  832. * properties.
  833. */
  834. struct _GParamSpecParam
  835. {
  836. GParamSpec parent_instance;
  837. };
  838. /**
  839. * GParamSpecBoxed:
  840. * @parent_instance: private #GParamSpec portion
  841. *
  842. * A #GParamSpec derived structure that contains the meta data for boxed properties.
  843. */
  844. struct _GParamSpecBoxed
  845. {
  846. GParamSpec parent_instance;
  847. };
  848. /**
  849. * GParamSpecPointer:
  850. * @parent_instance: private #GParamSpec portion
  851. *
  852. * A #GParamSpec derived structure that contains the meta data for pointer properties.
  853. */
  854. struct _GParamSpecPointer
  855. {
  856. GParamSpec parent_instance;
  857. };
  858. /**
  859. * GParamSpecValueArray:
  860. * @parent_instance: private #GParamSpec portion
  861. * @element_spec: a #GParamSpec describing the elements contained in arrays of this property, may be %NULL
  862. * @fixed_n_elements: if greater than 0, arrays of this property will always have this many elements
  863. *
  864. * A #GParamSpec derived structure that contains the meta data for #GValueArray properties.
  865. */
  866. struct _GParamSpecValueArray
  867. {
  868. GParamSpec parent_instance;
  869. GParamSpec *element_spec;
  870. guint fixed_n_elements;
  871. };
  872. /**
  873. * GParamSpecObject:
  874. * @parent_instance: private #GParamSpec portion
  875. *
  876. * A #GParamSpec derived structure that contains the meta data for object properties.
  877. */
  878. struct _GParamSpecObject
  879. {
  880. GParamSpec parent_instance;
  881. };
  882. /**
  883. * GParamSpecOverride:
  884. *
  885. * A #GParamSpec derived structure that redirects operations to
  886. * other types of #GParamSpec.
  887. *
  888. * All operations other than getting or setting the value are redirected,
  889. * including accessing the nick and blurb, validating a value, and so
  890. * forth.
  891. *
  892. * See g_param_spec_get_redirect_target() for retrieving the overridden
  893. * property. #GParamSpecOverride is used in implementing
  894. * g_object_class_override_property(), and will not be directly useful
  895. * unless you are implementing a new base type similar to GObject.
  896. *
  897. * Since: 2.4
  898. */
  899. struct _GParamSpecOverride
  900. {
  901. /*< private >*/
  902. GParamSpec parent_instance;
  903. GParamSpec *overridden;
  904. };
  905. /**
  906. * GParamSpecGType:
  907. * @parent_instance: private #GParamSpec portion
  908. * @is_a_type: a #GType whose subtypes can occur as values
  909. *
  910. * A #GParamSpec derived structure that contains the meta data for #GType properties.
  911. *
  912. * Since: 2.10
  913. */
  914. struct _GParamSpecGType
  915. {
  916. GParamSpec parent_instance;
  917. GType is_a_type;
  918. };
  919. /**
  920. * GParamSpecVariant:
  921. * @parent_instance: private #GParamSpec portion
  922. * @type: a #GVariantType, or %NULL
  923. * @default_value: a #GVariant, or %NULL
  924. *
  925. * A #GParamSpec derived structure that contains the meta data for #GVariant properties.
  926. *
  927. * When comparing values with g_param_values_cmp(), scalar values with the same
  928. * type will be compared with g_variant_compare(). Other non-%NULL variants will
  929. * be checked for equality with g_variant_equal(), and their sort order is
  930. * otherwise undefined. %NULL is ordered before non-%NULL variants. Two %NULL
  931. * values compare equal.
  932. *
  933. * Since: 2.26
  934. */
  935. struct _GParamSpecVariant
  936. {
  937. GParamSpec parent_instance;
  938. GVariantType *type;
  939. GVariant *default_value;
  940. /*< private >*/
  941. gpointer padding[4];
  942. };
  943. /* --- GParamSpec prototypes --- */
  944. GOBJECT_AVAILABLE_IN_ALL
  945. GParamSpec* g_param_spec_char (const gchar *name,
  946. const gchar *nick,
  947. const gchar *blurb,
  948. gint8 minimum,
  949. gint8 maximum,
  950. gint8 default_value,
  951. GParamFlags flags);
  952. GOBJECT_AVAILABLE_IN_ALL
  953. GParamSpec* g_param_spec_uchar (const gchar *name,
  954. const gchar *nick,
  955. const gchar *blurb,
  956. guint8 minimum,
  957. guint8 maximum,
  958. guint8 default_value,
  959. GParamFlags flags);
  960. GOBJECT_AVAILABLE_IN_ALL
  961. GParamSpec* g_param_spec_boolean (const gchar *name,
  962. const gchar *nick,
  963. const gchar *blurb,
  964. gboolean default_value,
  965. GParamFlags flags);
  966. GOBJECT_AVAILABLE_IN_ALL
  967. GParamSpec* g_param_spec_int (const gchar *name,
  968. const gchar *nick,
  969. const gchar *blurb,
  970. gint minimum,
  971. gint maximum,
  972. gint default_value,
  973. GParamFlags flags);
  974. GOBJECT_AVAILABLE_IN_ALL
  975. GParamSpec* g_param_spec_uint (const gchar *name,
  976. const gchar *nick,
  977. const gchar *blurb,
  978. guint minimum,
  979. guint maximum,
  980. guint default_value,
  981. GParamFlags flags);
  982. GOBJECT_AVAILABLE_IN_ALL
  983. GParamSpec* g_param_spec_long (const gchar *name,
  984. const gchar *nick,
  985. const gchar *blurb,
  986. glong minimum,
  987. glong maximum,
  988. glong default_value,
  989. GParamFlags flags);
  990. GOBJECT_AVAILABLE_IN_ALL
  991. GParamSpec* g_param_spec_ulong (const gchar *name,
  992. const gchar *nick,
  993. const gchar *blurb,
  994. gulong minimum,
  995. gulong maximum,
  996. gulong default_value,
  997. GParamFlags flags);
  998. GOBJECT_AVAILABLE_IN_ALL
  999. GParamSpec* g_param_spec_int64 (const gchar *name,
  1000. const gchar *nick,
  1001. const gchar *blurb,
  1002. gint64 minimum,
  1003. gint64 maximum,
  1004. gint64 default_value,
  1005. GParamFlags flags);
  1006. GOBJECT_AVAILABLE_IN_ALL
  1007. GParamSpec* g_param_spec_uint64 (const gchar *name,
  1008. const gchar *nick,
  1009. const gchar *blurb,
  1010. guint64 minimum,
  1011. guint64 maximum,
  1012. guint64 default_value,
  1013. GParamFlags flags);
  1014. GOBJECT_AVAILABLE_IN_ALL
  1015. GParamSpec* g_param_spec_unichar (const gchar *name,
  1016. const gchar *nick,
  1017. const gchar *blurb,
  1018. gunichar default_value,
  1019. GParamFlags flags);
  1020. GOBJECT_AVAILABLE_IN_ALL
  1021. GParamSpec* g_param_spec_enum (const gchar *name,
  1022. const gchar *nick,
  1023. const gchar *blurb,
  1024. GType enum_type,
  1025. gint default_value,
  1026. GParamFlags flags);
  1027. GOBJECT_AVAILABLE_IN_ALL
  1028. GParamSpec* g_param_spec_flags (const gchar *name,
  1029. const gchar *nick,
  1030. const gchar *blurb,
  1031. GType flags_type,
  1032. guint default_value,
  1033. GParamFlags flags);
  1034. GOBJECT_AVAILABLE_IN_ALL
  1035. GParamSpec* g_param_spec_float (const gchar *name,
  1036. const gchar *nick,
  1037. const gchar *blurb,
  1038. gfloat minimum,
  1039. gfloat maximum,
  1040. gfloat default_value,
  1041. GParamFlags flags);
  1042. GOBJECT_AVAILABLE_IN_ALL
  1043. GParamSpec* g_param_spec_double (const gchar *name,
  1044. const gchar *nick,
  1045. const gchar *blurb,
  1046. gdouble minimum,
  1047. gdouble maximum,
  1048. gdouble default_value,
  1049. GParamFlags flags);
  1050. GOBJECT_AVAILABLE_IN_ALL
  1051. GParamSpec* g_param_spec_string (const gchar *name,
  1052. const gchar *nick,
  1053. const gchar *blurb,
  1054. const gchar *default_value,
  1055. GParamFlags flags);
  1056. GOBJECT_AVAILABLE_IN_ALL
  1057. GParamSpec* g_param_spec_param (const gchar *name,
  1058. const gchar *nick,
  1059. const gchar *blurb,
  1060. GType param_type,
  1061. GParamFlags flags);
  1062. GOBJECT_AVAILABLE_IN_ALL
  1063. GParamSpec* g_param_spec_boxed (const gchar *name,
  1064. const gchar *nick,
  1065. const gchar *blurb,
  1066. GType boxed_type,
  1067. GParamFlags flags);
  1068. GOBJECT_AVAILABLE_IN_ALL
  1069. GParamSpec* g_param_spec_pointer (const gchar *name,
  1070. const gchar *nick,
  1071. const gchar *blurb,
  1072. GParamFlags flags);
  1073. GOBJECT_AVAILABLE_IN_ALL
  1074. GParamSpec* g_param_spec_value_array (const gchar *name,
  1075. const gchar *nick,
  1076. const gchar *blurb,
  1077. GParamSpec *element_spec,
  1078. GParamFlags flags);
  1079. GOBJECT_AVAILABLE_IN_ALL
  1080. GParamSpec* g_param_spec_object (const gchar *name,
  1081. const gchar *nick,
  1082. const gchar *blurb,
  1083. GType object_type,
  1084. GParamFlags flags);
  1085. GOBJECT_AVAILABLE_IN_ALL
  1086. GParamSpec* g_param_spec_override (const gchar *name,
  1087. GParamSpec *overridden);
  1088. GOBJECT_AVAILABLE_IN_ALL
  1089. GParamSpec* g_param_spec_gtype (const gchar *name,
  1090. const gchar *nick,
  1091. const gchar *blurb,
  1092. GType is_a_type,
  1093. GParamFlags flags);
  1094. GOBJECT_AVAILABLE_IN_ALL
  1095. GParamSpec* g_param_spec_variant (const gchar *name,
  1096. const gchar *nick,
  1097. const gchar *blurb,
  1098. const GVariantType *type,
  1099. GVariant *default_value,
  1100. GParamFlags flags);
  1101. GOBJECT_VAR GType *g_param_spec_types;
  1102. G_END_DECLS
  1103. #endif /* __G_PARAMSPECS_H__ */