GObject-2.0.gir 728 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939
  1. <?xml version="1.0"?>
  2. <!-- This file was automatically generated from C sources - DO NOT EDIT!
  3. To affect the contents of this file, edit the original C definitions,
  4. and/or use gtk-doc annotations. -->
  5. <repository version="1.2"
  6. xmlns="http://www.gtk.org/introspection/core/1.0"
  7. xmlns:c="http://www.gtk.org/introspection/c/1.0"
  8. xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  9. <include name="GLib" version="2.0"/>
  10. <package name="gobject-2.0"/>
  11. <c:include name="glib-object.h"/>
  12. <namespace name="GObject"
  13. version="2.0"
  14. shared-library="libgobject-2.0.so.0"
  15. c:identifier-prefixes="G"
  16. c:symbol-prefixes="g">
  17. <alias name="SignalCMarshaller" c:type="GSignalCMarshaller">
  18. <doc xml:space="preserve">This is the signature of marshaller functions, required to marshall
  19. arrays of parameter values to signal emissions into C language callback
  20. invocations. It is merely an alias to #GClosureMarshal since the #GClosure
  21. mechanism takes over responsibility of actual function invocation for the
  22. signal system.</doc>
  23. <type name="ClosureMarshal" c:type="GClosureMarshal"/>
  24. </alias>
  25. <alias name="SignalCVaMarshaller" c:type="GSignalCVaMarshaller">
  26. <doc xml:space="preserve">This is the signature of va_list marshaller functions, an optional
  27. marshaller that can be used in some situations to avoid
  28. marshalling the signal argument into GValues.</doc>
  29. <type name="VaClosureMarshal" c:type="GVaClosureMarshal"/>
  30. </alias>
  31. <alias name="Type" c:type="GType">
  32. <doc xml:space="preserve">A numerical value which represents the unique identifier of a registered
  33. type.</doc>
  34. <type name="gsize" c:type="gsize"/>
  35. </alias>
  36. <callback name="BaseFinalizeFunc" c:type="GBaseFinalizeFunc">
  37. <doc xml:space="preserve">A callback function used by the type system to finalize those portions
  38. of a derived types class structure that were setup from the corresponding
  39. GBaseInitFunc() function. Class finalization basically works the inverse
  40. way in which class initialization is performed.
  41. See GClassInitFunc() for a discussion of the class initialization process.</doc>
  42. <return-value transfer-ownership="none">
  43. <type name="none" c:type="void"/>
  44. </return-value>
  45. <parameters>
  46. <parameter name="g_class" transfer-ownership="none">
  47. <doc xml:space="preserve">The #GTypeClass structure to finalize</doc>
  48. <type name="TypeClass" c:type="gpointer"/>
  49. </parameter>
  50. </parameters>
  51. </callback>
  52. <callback name="BaseInitFunc" c:type="GBaseInitFunc">
  53. <doc xml:space="preserve">A callback function used by the type system to do base initialization
  54. of the class structures of derived types. It is called as part of the
  55. initialization process of all derived classes and should reallocate
  56. or reset all dynamic class members copied over from the parent class.
  57. For example, class members (such as strings) that are not sufficiently
  58. handled by a plain memory copy of the parent class into the derived class
  59. have to be altered. See GClassInitFunc() for a discussion of the class
  60. initialization process.</doc>
  61. <return-value transfer-ownership="none">
  62. <type name="none" c:type="void"/>
  63. </return-value>
  64. <parameters>
  65. <parameter name="g_class" transfer-ownership="none">
  66. <doc xml:space="preserve">The #GTypeClass structure to initialize</doc>
  67. <type name="TypeClass" c:type="gpointer"/>
  68. </parameter>
  69. </parameters>
  70. </callback>
  71. <class name="Binding"
  72. c:symbol-prefix="binding"
  73. c:type="GBinding"
  74. version="2.26"
  75. parent="Object"
  76. glib:type-name="GBinding"
  77. glib:get-type="g_binding_get_type">
  78. <doc xml:space="preserve">#GBinding is the representation of a binding between a property on a
  79. #GObject instance (or source) and another property on another #GObject
  80. instance (or target). Whenever the source property changes, the same
  81. value is applied to the target property; for instance, the following
  82. binding:
  83. |[&lt;!-- language="C" --&gt;
  84. g_object_bind_property (object1, "property-a",
  85. object2, "property-b",
  86. G_BINDING_DEFAULT);
  87. ]|
  88. will cause the property named "property-b" of @object2 to be updated
  89. every time g_object_set() or the specific accessor changes the value of
  90. the property "property-a" of @object1.
  91. It is possible to create a bidirectional binding between two properties
  92. of two #GObject instances, so that if either property changes, the
  93. other is updated as well, for instance:
  94. |[&lt;!-- language="C" --&gt;
  95. g_object_bind_property (object1, "property-a",
  96. object2, "property-b",
  97. G_BINDING_BIDIRECTIONAL);
  98. ]|
  99. will keep the two properties in sync.
  100. It is also possible to set a custom transformation function (in both
  101. directions, in case of a bidirectional binding) to apply a custom
  102. transformation from the source value to the target value before
  103. applying it; for instance, the following binding:
  104. |[&lt;!-- language="C" --&gt;
  105. g_object_bind_property_full (adjustment1, "value",
  106. adjustment2, "value",
  107. G_BINDING_BIDIRECTIONAL,
  108. celsius_to_fahrenheit,
  109. fahrenheit_to_celsius,
  110. NULL, NULL);
  111. ]|
  112. will keep the "value" property of the two adjustments in sync; the
  113. @celsius_to_fahrenheit function will be called whenever the "value"
  114. property of @adjustment1 changes and will transform the current value
  115. of the property before applying it to the "value" property of @adjustment2.
  116. Vice versa, the @fahrenheit_to_celsius function will be called whenever
  117. the "value" property of @adjustment2 changes, and will transform the
  118. current value of the property before applying it to the "value" property
  119. of @adjustment1.
  120. Note that #GBinding does not resolve cycles by itself; a cycle like
  121. |[
  122. object1:propertyA -&gt; object2:propertyB
  123. object2:propertyB -&gt; object3:propertyC
  124. object3:propertyC -&gt; object1:propertyA
  125. ]|
  126. might lead to an infinite loop. The loop, in this particular case,
  127. can be avoided if the objects emit the #GObject::notify signal only
  128. if the value has effectively been changed. A binding is implemented
  129. using the #GObject::notify signal, so it is susceptible to all the
  130. various ways of blocking a signal emission, like g_signal_stop_emission()
  131. or g_signal_handler_block().
  132. A binding will be severed, and the resources it allocates freed, whenever
  133. either one of the #GObject instances it refers to are finalized, or when
  134. the #GBinding instance loses its last reference.
  135. Bindings for languages with garbage collection can use
  136. g_binding_unbind() to explicitly release a binding between the source
  137. and target properties, instead of relying on the last reference on the
  138. binding, source, and target instances to drop.
  139. #GBinding is available since GObject 2.26</doc>
  140. <method name="get_flags"
  141. c:identifier="g_binding_get_flags"
  142. version="2.26">
  143. <doc xml:space="preserve">Retrieves the flags passed when constructing the #GBinding.</doc>
  144. <return-value transfer-ownership="none">
  145. <doc xml:space="preserve">the #GBindingFlags used by the #GBinding</doc>
  146. <type name="BindingFlags" c:type="GBindingFlags"/>
  147. </return-value>
  148. <parameters>
  149. <instance-parameter name="binding" transfer-ownership="none">
  150. <doc xml:space="preserve">a #GBinding</doc>
  151. <type name="Binding" c:type="GBinding*"/>
  152. </instance-parameter>
  153. </parameters>
  154. </method>
  155. <method name="get_source"
  156. c:identifier="g_binding_get_source"
  157. version="2.26">
  158. <doc xml:space="preserve">Retrieves the #GObject instance used as the source of the binding.</doc>
  159. <return-value transfer-ownership="none">
  160. <doc xml:space="preserve">the source #GObject</doc>
  161. <type name="Object" c:type="GObject*"/>
  162. </return-value>
  163. <parameters>
  164. <instance-parameter name="binding" transfer-ownership="none">
  165. <doc xml:space="preserve">a #GBinding</doc>
  166. <type name="Binding" c:type="GBinding*"/>
  167. </instance-parameter>
  168. </parameters>
  169. </method>
  170. <method name="get_source_property"
  171. c:identifier="g_binding_get_source_property"
  172. version="2.26">
  173. <doc xml:space="preserve">Retrieves the name of the property of #GBinding:source used as the source
  174. of the binding.</doc>
  175. <return-value transfer-ownership="none">
  176. <doc xml:space="preserve">the name of the source property</doc>
  177. <type name="utf8" c:type="const gchar*"/>
  178. </return-value>
  179. <parameters>
  180. <instance-parameter name="binding" transfer-ownership="none">
  181. <doc xml:space="preserve">a #GBinding</doc>
  182. <type name="Binding" c:type="GBinding*"/>
  183. </instance-parameter>
  184. </parameters>
  185. </method>
  186. <method name="get_target"
  187. c:identifier="g_binding_get_target"
  188. version="2.26">
  189. <doc xml:space="preserve">Retrieves the #GObject instance used as the target of the binding.</doc>
  190. <return-value transfer-ownership="none">
  191. <doc xml:space="preserve">the target #GObject</doc>
  192. <type name="Object" c:type="GObject*"/>
  193. </return-value>
  194. <parameters>
  195. <instance-parameter name="binding" transfer-ownership="none">
  196. <doc xml:space="preserve">a #GBinding</doc>
  197. <type name="Binding" c:type="GBinding*"/>
  198. </instance-parameter>
  199. </parameters>
  200. </method>
  201. <method name="get_target_property"
  202. c:identifier="g_binding_get_target_property"
  203. version="2.26">
  204. <doc xml:space="preserve">Retrieves the name of the property of #GBinding:target used as the target
  205. of the binding.</doc>
  206. <return-value transfer-ownership="none">
  207. <doc xml:space="preserve">the name of the target property</doc>
  208. <type name="utf8" c:type="const gchar*"/>
  209. </return-value>
  210. <parameters>
  211. <instance-parameter name="binding" transfer-ownership="none">
  212. <doc xml:space="preserve">a #GBinding</doc>
  213. <type name="Binding" c:type="GBinding*"/>
  214. </instance-parameter>
  215. </parameters>
  216. </method>
  217. <method name="unbind" c:identifier="g_binding_unbind" version="2.38">
  218. <doc xml:space="preserve">Explicitly releases the binding between the source and the target
  219. property expressed by @binding.
  220. This function will release the reference that is being held on
  221. the @binding instance; if you want to hold on to the #GBinding instance
  222. after calling g_binding_unbind(), you will need to hold a reference
  223. to it.</doc>
  224. <return-value transfer-ownership="none">
  225. <type name="none" c:type="void"/>
  226. </return-value>
  227. <parameters>
  228. <instance-parameter name="binding" transfer-ownership="none">
  229. <doc xml:space="preserve">a #GBinding</doc>
  230. <type name="Binding" c:type="GBinding*"/>
  231. </instance-parameter>
  232. </parameters>
  233. </method>
  234. <property name="flags"
  235. version="2.26"
  236. writable="1"
  237. construct-only="1"
  238. transfer-ownership="none">
  239. <doc xml:space="preserve">Flags to be used to control the #GBinding</doc>
  240. <type name="BindingFlags"/>
  241. </property>
  242. <property name="source"
  243. version="2.26"
  244. writable="1"
  245. construct-only="1"
  246. transfer-ownership="none">
  247. <doc xml:space="preserve">The #GObject that should be used as the source of the binding</doc>
  248. <type name="Object"/>
  249. </property>
  250. <property name="source-property"
  251. version="2.26"
  252. writable="1"
  253. construct-only="1"
  254. transfer-ownership="none">
  255. <doc xml:space="preserve">The name of the property of #GBinding:source that should be used
  256. as the source of the binding</doc>
  257. <type name="utf8" c:type="gchar*"/>
  258. </property>
  259. <property name="target"
  260. version="2.26"
  261. writable="1"
  262. construct-only="1"
  263. transfer-ownership="none">
  264. <doc xml:space="preserve">The #GObject that should be used as the target of the binding</doc>
  265. <type name="Object"/>
  266. </property>
  267. <property name="target-property"
  268. version="2.26"
  269. writable="1"
  270. construct-only="1"
  271. transfer-ownership="none">
  272. <doc xml:space="preserve">The name of the property of #GBinding:target that should be used
  273. as the target of the binding</doc>
  274. <type name="utf8" c:type="gchar*"/>
  275. </property>
  276. </class>
  277. <bitfield name="BindingFlags"
  278. version="2.26"
  279. glib:type-name="GBindingFlags"
  280. glib:get-type="g_binding_flags_get_type"
  281. c:type="GBindingFlags">
  282. <doc xml:space="preserve">Flags to be passed to g_object_bind_property() or
  283. g_object_bind_property_full().
  284. This enumeration can be extended at later date.</doc>
  285. <member name="default"
  286. value="0"
  287. c:identifier="G_BINDING_DEFAULT"
  288. glib:nick="default">
  289. <doc xml:space="preserve">The default binding; if the source property
  290. changes, the target property is updated with its value.</doc>
  291. </member>
  292. <member name="bidirectional"
  293. value="1"
  294. c:identifier="G_BINDING_BIDIRECTIONAL"
  295. glib:nick="bidirectional">
  296. <doc xml:space="preserve">Bidirectional binding; if either the
  297. property of the source or the property of the target changes,
  298. the other is updated.</doc>
  299. </member>
  300. <member name="sync_create"
  301. value="2"
  302. c:identifier="G_BINDING_SYNC_CREATE"
  303. glib:nick="sync-create">
  304. <doc xml:space="preserve">Synchronize the values of the source and
  305. target properties when creating the binding; the direction of
  306. the synchronization is always from the source to the target.</doc>
  307. </member>
  308. <member name="invert_boolean"
  309. value="4"
  310. c:identifier="G_BINDING_INVERT_BOOLEAN"
  311. glib:nick="invert-boolean">
  312. <doc xml:space="preserve">If the two properties being bound are
  313. booleans, setting one to %TRUE will result in the other being
  314. set to %FALSE and vice versa. This flag will only work for
  315. boolean properties, and cannot be used when passing custom
  316. transformation functions to g_object_bind_property_full().</doc>
  317. </member>
  318. </bitfield>
  319. <callback name="BindingTransformFunc"
  320. c:type="GBindingTransformFunc"
  321. version="2.26">
  322. <doc xml:space="preserve">A function to be called to transform @from_value to @to_value. If
  323. this is the @transform_to function of a binding, then @from_value
  324. is the @source_property on the @source object, and @to_value is the
  325. @target_property on the @target object. If this is the
  326. @transform_from function of a %G_BINDING_BIDIRECTIONAL binding,
  327. then those roles are reversed.</doc>
  328. <return-value transfer-ownership="none">
  329. <doc xml:space="preserve">%TRUE if the transformation was successful, and %FALSE
  330. otherwise</doc>
  331. <type name="gboolean" c:type="gboolean"/>
  332. </return-value>
  333. <parameters>
  334. <parameter name="binding" transfer-ownership="none">
  335. <doc xml:space="preserve">a #GBinding</doc>
  336. <type name="Binding" c:type="GBinding*"/>
  337. </parameter>
  338. <parameter name="from_value" transfer-ownership="none">
  339. <doc xml:space="preserve">the #GValue containing the value to transform</doc>
  340. <type name="Value" c:type="const GValue*"/>
  341. </parameter>
  342. <parameter name="to_value" transfer-ownership="none">
  343. <doc xml:space="preserve">the #GValue in which to store the transformed value</doc>
  344. <type name="Value" c:type="GValue*"/>
  345. </parameter>
  346. <parameter name="user_data"
  347. transfer-ownership="none"
  348. nullable="1"
  349. allow-none="1"
  350. closure="3">
  351. <doc xml:space="preserve">data passed to the transform function</doc>
  352. <type name="gpointer" c:type="gpointer"/>
  353. </parameter>
  354. </parameters>
  355. </callback>
  356. <callback name="BoxedCopyFunc" c:type="GBoxedCopyFunc">
  357. <doc xml:space="preserve">This function is provided by the user and should produce a copy
  358. of the passed in boxed structure.</doc>
  359. <return-value transfer-ownership="none">
  360. <doc xml:space="preserve">The newly created copy of the boxed structure.</doc>
  361. <type name="gpointer" c:type="gpointer"/>
  362. </return-value>
  363. <parameters>
  364. <parameter name="boxed" transfer-ownership="none">
  365. <doc xml:space="preserve">The boxed structure to be copied.</doc>
  366. <type name="gpointer" c:type="gpointer"/>
  367. </parameter>
  368. </parameters>
  369. </callback>
  370. <callback name="BoxedFreeFunc" c:type="GBoxedFreeFunc">
  371. <doc xml:space="preserve">This function is provided by the user and should free the boxed
  372. structure passed.</doc>
  373. <return-value transfer-ownership="none">
  374. <type name="none" c:type="void"/>
  375. </return-value>
  376. <parameters>
  377. <parameter name="boxed" transfer-ownership="none">
  378. <doc xml:space="preserve">The boxed structure to be freed.</doc>
  379. <type name="gpointer" c:type="gpointer"/>
  380. </parameter>
  381. </parameters>
  382. </callback>
  383. <record name="CClosure" c:type="GCClosure">
  384. <doc xml:space="preserve">A #GCClosure is a specialization of #GClosure for C function callbacks.</doc>
  385. <field name="closure" writable="1">
  386. <doc xml:space="preserve">the #GClosure</doc>
  387. <type name="Closure" c:type="GClosure"/>
  388. </field>
  389. <field name="callback" writable="1">
  390. <doc xml:space="preserve">the callback function</doc>
  391. <type name="gpointer" c:type="gpointer"/>
  392. </field>
  393. <function name="marshal_BOOLEAN__BOXED_BOXED"
  394. c:identifier="g_cclosure_marshal_BOOLEAN__BOXED_BOXED">
  395. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with handlers that
  396. take two boxed pointers as arguments and return a boolean. If you
  397. have such a signal, you will probably also need to use an
  398. accumulator, such as g_signal_accumulator_true_handled().</doc>
  399. <return-value transfer-ownership="none">
  400. <type name="none" c:type="void"/>
  401. </return-value>
  402. <parameters>
  403. <parameter name="closure" transfer-ownership="none">
  404. <doc xml:space="preserve">A #GClosure.</doc>
  405. <type name="Closure" c:type="GClosure*"/>
  406. </parameter>
  407. <parameter name="return_value" transfer-ownership="none">
  408. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  409. if the callback of closure doesn't return a value.</doc>
  410. <type name="Value" c:type="GValue*"/>
  411. </parameter>
  412. <parameter name="n_param_values" transfer-ownership="none">
  413. <doc xml:space="preserve">The length of the @param_values array.</doc>
  414. <type name="guint" c:type="guint"/>
  415. </parameter>
  416. <parameter name="param_values" transfer-ownership="none">
  417. <doc xml:space="preserve">An array of #GValues holding the arguments
  418. on which to invoke the callback of closure.</doc>
  419. <type name="Value" c:type="const GValue*"/>
  420. </parameter>
  421. <parameter name="invocation_hint"
  422. transfer-ownership="none"
  423. nullable="1"
  424. allow-none="1">
  425. <doc xml:space="preserve">The invocation hint given as the last argument to
  426. g_closure_invoke().</doc>
  427. <type name="gpointer" c:type="gpointer"/>
  428. </parameter>
  429. <parameter name="marshal_data"
  430. transfer-ownership="none"
  431. nullable="1"
  432. allow-none="1">
  433. <doc xml:space="preserve">Additional data specified when registering the
  434. marshaller, see g_closure_set_marshal() and
  435. g_closure_set_meta_marshal()</doc>
  436. <type name="gpointer" c:type="gpointer"/>
  437. </parameter>
  438. </parameters>
  439. </function>
  440. <function name="marshal_BOOLEAN__BOXED_BOXEDv"
  441. c:identifier="g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv"
  442. introspectable="0">
  443. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_BOOLEAN__BOXED_BOXED().</doc>
  444. <return-value transfer-ownership="none">
  445. <type name="none" c:type="void"/>
  446. </return-value>
  447. <parameters>
  448. <parameter name="closure" transfer-ownership="none">
  449. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  450. <type name="Closure" c:type="GClosure*"/>
  451. </parameter>
  452. <parameter name="return_value"
  453. transfer-ownership="none"
  454. nullable="1"
  455. allow-none="1">
  456. <doc xml:space="preserve">a #GValue to store the return
  457. value. May be %NULL if the callback of @closure doesn't return a
  458. value.</doc>
  459. <type name="Value" c:type="GValue*"/>
  460. </parameter>
  461. <parameter name="instance" transfer-ownership="none">
  462. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  463. <type name="TypeInstance" c:type="gpointer"/>
  464. </parameter>
  465. <parameter name="args" transfer-ownership="none">
  466. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  467. <type name="va_list" c:type="va_list"/>
  468. </parameter>
  469. <parameter name="marshal_data"
  470. transfer-ownership="none"
  471. nullable="1"
  472. allow-none="1">
  473. <doc xml:space="preserve">additional data specified when
  474. registering the marshaller, see g_closure_set_marshal() and
  475. g_closure_set_meta_marshal()</doc>
  476. <type name="gpointer" c:type="gpointer"/>
  477. </parameter>
  478. <parameter name="n_params" transfer-ownership="none">
  479. <doc xml:space="preserve">the length of the @param_types array</doc>
  480. <type name="gint" c:type="int"/>
  481. </parameter>
  482. <parameter name="param_types" transfer-ownership="none">
  483. <doc xml:space="preserve">the #GType of each argument from
  484. @args.</doc>
  485. <array length="5" zero-terminated="0" c:type="GType*">
  486. <type name="GType" c:type="GType"/>
  487. </array>
  488. </parameter>
  489. </parameters>
  490. </function>
  491. <function name="marshal_BOOLEAN__FLAGS"
  492. c:identifier="g_cclosure_marshal_BOOLEAN__FLAGS">
  493. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with handlers that
  494. take a flags type as an argument and return a boolean. If you have
  495. such a signal, you will probably also need to use an accumulator,
  496. such as g_signal_accumulator_true_handled().</doc>
  497. <return-value transfer-ownership="none">
  498. <type name="none" c:type="void"/>
  499. </return-value>
  500. <parameters>
  501. <parameter name="closure" transfer-ownership="none">
  502. <doc xml:space="preserve">A #GClosure.</doc>
  503. <type name="Closure" c:type="GClosure*"/>
  504. </parameter>
  505. <parameter name="return_value" transfer-ownership="none">
  506. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  507. if the callback of closure doesn't return a value.</doc>
  508. <type name="Value" c:type="GValue*"/>
  509. </parameter>
  510. <parameter name="n_param_values" transfer-ownership="none">
  511. <doc xml:space="preserve">The length of the @param_values array.</doc>
  512. <type name="guint" c:type="guint"/>
  513. </parameter>
  514. <parameter name="param_values" transfer-ownership="none">
  515. <doc xml:space="preserve">An array of #GValues holding the arguments
  516. on which to invoke the callback of closure.</doc>
  517. <type name="Value" c:type="const GValue*"/>
  518. </parameter>
  519. <parameter name="invocation_hint"
  520. transfer-ownership="none"
  521. nullable="1"
  522. allow-none="1">
  523. <doc xml:space="preserve">The invocation hint given as the last argument to
  524. g_closure_invoke().</doc>
  525. <type name="gpointer" c:type="gpointer"/>
  526. </parameter>
  527. <parameter name="marshal_data"
  528. transfer-ownership="none"
  529. nullable="1"
  530. allow-none="1">
  531. <doc xml:space="preserve">Additional data specified when registering the
  532. marshaller, see g_closure_set_marshal() and
  533. g_closure_set_meta_marshal()</doc>
  534. <type name="gpointer" c:type="gpointer"/>
  535. </parameter>
  536. </parameters>
  537. </function>
  538. <function name="marshal_BOOLEAN__FLAGSv"
  539. c:identifier="g_cclosure_marshal_BOOLEAN__FLAGSv"
  540. introspectable="0">
  541. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_BOOLEAN__FLAGS().</doc>
  542. <return-value transfer-ownership="none">
  543. <type name="none" c:type="void"/>
  544. </return-value>
  545. <parameters>
  546. <parameter name="closure" transfer-ownership="none">
  547. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  548. <type name="Closure" c:type="GClosure*"/>
  549. </parameter>
  550. <parameter name="return_value"
  551. transfer-ownership="none"
  552. nullable="1"
  553. allow-none="1">
  554. <doc xml:space="preserve">a #GValue to store the return
  555. value. May be %NULL if the callback of @closure doesn't return a
  556. value.</doc>
  557. <type name="Value" c:type="GValue*"/>
  558. </parameter>
  559. <parameter name="instance" transfer-ownership="none">
  560. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  561. <type name="TypeInstance" c:type="gpointer"/>
  562. </parameter>
  563. <parameter name="args" transfer-ownership="none">
  564. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  565. <type name="va_list" c:type="va_list"/>
  566. </parameter>
  567. <parameter name="marshal_data"
  568. transfer-ownership="none"
  569. nullable="1"
  570. allow-none="1">
  571. <doc xml:space="preserve">additional data specified when
  572. registering the marshaller, see g_closure_set_marshal() and
  573. g_closure_set_meta_marshal()</doc>
  574. <type name="gpointer" c:type="gpointer"/>
  575. </parameter>
  576. <parameter name="n_params" transfer-ownership="none">
  577. <doc xml:space="preserve">the length of the @param_types array</doc>
  578. <type name="gint" c:type="int"/>
  579. </parameter>
  580. <parameter name="param_types" transfer-ownership="none">
  581. <doc xml:space="preserve">the #GType of each argument from
  582. @args.</doc>
  583. <array length="5" zero-terminated="0" c:type="GType*">
  584. <type name="GType" c:type="GType"/>
  585. </array>
  586. </parameter>
  587. </parameters>
  588. </function>
  589. <function name="marshal_STRING__OBJECT_POINTER"
  590. c:identifier="g_cclosure_marshal_STRING__OBJECT_POINTER">
  591. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with handlers that
  592. take a #GObject and a pointer and produce a string. It is highly
  593. unlikely that your signal handler fits this description.</doc>
  594. <return-value transfer-ownership="none">
  595. <type name="none" c:type="void"/>
  596. </return-value>
  597. <parameters>
  598. <parameter name="closure" transfer-ownership="none">
  599. <doc xml:space="preserve">A #GClosure.</doc>
  600. <type name="Closure" c:type="GClosure*"/>
  601. </parameter>
  602. <parameter name="return_value" transfer-ownership="none">
  603. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  604. if the callback of closure doesn't return a value.</doc>
  605. <type name="Value" c:type="GValue*"/>
  606. </parameter>
  607. <parameter name="n_param_values" transfer-ownership="none">
  608. <doc xml:space="preserve">The length of the @param_values array.</doc>
  609. <type name="guint" c:type="guint"/>
  610. </parameter>
  611. <parameter name="param_values" transfer-ownership="none">
  612. <doc xml:space="preserve">An array of #GValues holding the arguments
  613. on which to invoke the callback of closure.</doc>
  614. <type name="Value" c:type="const GValue*"/>
  615. </parameter>
  616. <parameter name="invocation_hint"
  617. transfer-ownership="none"
  618. nullable="1"
  619. allow-none="1">
  620. <doc xml:space="preserve">The invocation hint given as the last argument to
  621. g_closure_invoke().</doc>
  622. <type name="gpointer" c:type="gpointer"/>
  623. </parameter>
  624. <parameter name="marshal_data"
  625. transfer-ownership="none"
  626. nullable="1"
  627. allow-none="1">
  628. <doc xml:space="preserve">Additional data specified when registering the
  629. marshaller, see g_closure_set_marshal() and
  630. g_closure_set_meta_marshal()</doc>
  631. <type name="gpointer" c:type="gpointer"/>
  632. </parameter>
  633. </parameters>
  634. </function>
  635. <function name="marshal_STRING__OBJECT_POINTERv"
  636. c:identifier="g_cclosure_marshal_STRING__OBJECT_POINTERv"
  637. introspectable="0">
  638. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_STRING__OBJECT_POINTER().</doc>
  639. <return-value transfer-ownership="none">
  640. <type name="none" c:type="void"/>
  641. </return-value>
  642. <parameters>
  643. <parameter name="closure" transfer-ownership="none">
  644. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  645. <type name="Closure" c:type="GClosure*"/>
  646. </parameter>
  647. <parameter name="return_value"
  648. transfer-ownership="none"
  649. nullable="1"
  650. allow-none="1">
  651. <doc xml:space="preserve">a #GValue to store the return
  652. value. May be %NULL if the callback of @closure doesn't return a
  653. value.</doc>
  654. <type name="Value" c:type="GValue*"/>
  655. </parameter>
  656. <parameter name="instance" transfer-ownership="none">
  657. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  658. <type name="TypeInstance" c:type="gpointer"/>
  659. </parameter>
  660. <parameter name="args" transfer-ownership="none">
  661. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  662. <type name="va_list" c:type="va_list"/>
  663. </parameter>
  664. <parameter name="marshal_data"
  665. transfer-ownership="none"
  666. nullable="1"
  667. allow-none="1">
  668. <doc xml:space="preserve">additional data specified when
  669. registering the marshaller, see g_closure_set_marshal() and
  670. g_closure_set_meta_marshal()</doc>
  671. <type name="gpointer" c:type="gpointer"/>
  672. </parameter>
  673. <parameter name="n_params" transfer-ownership="none">
  674. <doc xml:space="preserve">the length of the @param_types array</doc>
  675. <type name="gint" c:type="int"/>
  676. </parameter>
  677. <parameter name="param_types" transfer-ownership="none">
  678. <doc xml:space="preserve">the #GType of each argument from
  679. @args.</doc>
  680. <array length="5" zero-terminated="0" c:type="GType*">
  681. <type name="GType" c:type="GType"/>
  682. </array>
  683. </parameter>
  684. </parameters>
  685. </function>
  686. <function name="marshal_VOID__BOOLEAN"
  687. c:identifier="g_cclosure_marshal_VOID__BOOLEAN">
  688. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  689. boolean argument.</doc>
  690. <return-value transfer-ownership="none">
  691. <type name="none" c:type="void"/>
  692. </return-value>
  693. <parameters>
  694. <parameter name="closure" transfer-ownership="none">
  695. <doc xml:space="preserve">A #GClosure.</doc>
  696. <type name="Closure" c:type="GClosure*"/>
  697. </parameter>
  698. <parameter name="return_value" transfer-ownership="none">
  699. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  700. if the callback of closure doesn't return a value.</doc>
  701. <type name="Value" c:type="GValue*"/>
  702. </parameter>
  703. <parameter name="n_param_values" transfer-ownership="none">
  704. <doc xml:space="preserve">The length of the @param_values array.</doc>
  705. <type name="guint" c:type="guint"/>
  706. </parameter>
  707. <parameter name="param_values" transfer-ownership="none">
  708. <doc xml:space="preserve">An array of #GValues holding the arguments
  709. on which to invoke the callback of closure.</doc>
  710. <type name="Value" c:type="const GValue*"/>
  711. </parameter>
  712. <parameter name="invocation_hint"
  713. transfer-ownership="none"
  714. nullable="1"
  715. allow-none="1">
  716. <doc xml:space="preserve">The invocation hint given as the last argument to
  717. g_closure_invoke().</doc>
  718. <type name="gpointer" c:type="gpointer"/>
  719. </parameter>
  720. <parameter name="marshal_data"
  721. transfer-ownership="none"
  722. nullable="1"
  723. allow-none="1">
  724. <doc xml:space="preserve">Additional data specified when registering the
  725. marshaller, see g_closure_set_marshal() and
  726. g_closure_set_meta_marshal()</doc>
  727. <type name="gpointer" c:type="gpointer"/>
  728. </parameter>
  729. </parameters>
  730. </function>
  731. <function name="marshal_VOID__BOOLEANv"
  732. c:identifier="g_cclosure_marshal_VOID__BOOLEANv"
  733. introspectable="0">
  734. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__BOOLEAN().</doc>
  735. <return-value transfer-ownership="none">
  736. <type name="none" c:type="void"/>
  737. </return-value>
  738. <parameters>
  739. <parameter name="closure" transfer-ownership="none">
  740. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  741. <type name="Closure" c:type="GClosure*"/>
  742. </parameter>
  743. <parameter name="return_value"
  744. transfer-ownership="none"
  745. nullable="1"
  746. allow-none="1">
  747. <doc xml:space="preserve">a #GValue to store the return
  748. value. May be %NULL if the callback of @closure doesn't return a
  749. value.</doc>
  750. <type name="Value" c:type="GValue*"/>
  751. </parameter>
  752. <parameter name="instance" transfer-ownership="none">
  753. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  754. <type name="TypeInstance" c:type="gpointer"/>
  755. </parameter>
  756. <parameter name="args" transfer-ownership="none">
  757. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  758. <type name="va_list" c:type="va_list"/>
  759. </parameter>
  760. <parameter name="marshal_data"
  761. transfer-ownership="none"
  762. nullable="1"
  763. allow-none="1">
  764. <doc xml:space="preserve">additional data specified when
  765. registering the marshaller, see g_closure_set_marshal() and
  766. g_closure_set_meta_marshal()</doc>
  767. <type name="gpointer" c:type="gpointer"/>
  768. </parameter>
  769. <parameter name="n_params" transfer-ownership="none">
  770. <doc xml:space="preserve">the length of the @param_types array</doc>
  771. <type name="gint" c:type="int"/>
  772. </parameter>
  773. <parameter name="param_types" transfer-ownership="none">
  774. <doc xml:space="preserve">the #GType of each argument from
  775. @args.</doc>
  776. <array length="5" zero-terminated="0" c:type="GType*">
  777. <type name="GType" c:type="GType"/>
  778. </array>
  779. </parameter>
  780. </parameters>
  781. </function>
  782. <function name="marshal_VOID__BOXED"
  783. c:identifier="g_cclosure_marshal_VOID__BOXED">
  784. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  785. argument which is any boxed pointer type.</doc>
  786. <return-value transfer-ownership="none">
  787. <type name="none" c:type="void"/>
  788. </return-value>
  789. <parameters>
  790. <parameter name="closure" transfer-ownership="none">
  791. <doc xml:space="preserve">A #GClosure.</doc>
  792. <type name="Closure" c:type="GClosure*"/>
  793. </parameter>
  794. <parameter name="return_value" transfer-ownership="none">
  795. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  796. if the callback of closure doesn't return a value.</doc>
  797. <type name="Value" c:type="GValue*"/>
  798. </parameter>
  799. <parameter name="n_param_values" transfer-ownership="none">
  800. <doc xml:space="preserve">The length of the @param_values array.</doc>
  801. <type name="guint" c:type="guint"/>
  802. </parameter>
  803. <parameter name="param_values" transfer-ownership="none">
  804. <doc xml:space="preserve">An array of #GValues holding the arguments
  805. on which to invoke the callback of closure.</doc>
  806. <type name="Value" c:type="const GValue*"/>
  807. </parameter>
  808. <parameter name="invocation_hint"
  809. transfer-ownership="none"
  810. nullable="1"
  811. allow-none="1">
  812. <doc xml:space="preserve">The invocation hint given as the last argument to
  813. g_closure_invoke().</doc>
  814. <type name="gpointer" c:type="gpointer"/>
  815. </parameter>
  816. <parameter name="marshal_data"
  817. transfer-ownership="none"
  818. nullable="1"
  819. allow-none="1">
  820. <doc xml:space="preserve">Additional data specified when registering the
  821. marshaller, see g_closure_set_marshal() and
  822. g_closure_set_meta_marshal()</doc>
  823. <type name="gpointer" c:type="gpointer"/>
  824. </parameter>
  825. </parameters>
  826. </function>
  827. <function name="marshal_VOID__BOXEDv"
  828. c:identifier="g_cclosure_marshal_VOID__BOXEDv"
  829. introspectable="0">
  830. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__BOXED().</doc>
  831. <return-value transfer-ownership="none">
  832. <type name="none" c:type="void"/>
  833. </return-value>
  834. <parameters>
  835. <parameter name="closure" transfer-ownership="none">
  836. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  837. <type name="Closure" c:type="GClosure*"/>
  838. </parameter>
  839. <parameter name="return_value"
  840. transfer-ownership="none"
  841. nullable="1"
  842. allow-none="1">
  843. <doc xml:space="preserve">a #GValue to store the return
  844. value. May be %NULL if the callback of @closure doesn't return a
  845. value.</doc>
  846. <type name="Value" c:type="GValue*"/>
  847. </parameter>
  848. <parameter name="instance" transfer-ownership="none">
  849. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  850. <type name="TypeInstance" c:type="gpointer"/>
  851. </parameter>
  852. <parameter name="args" transfer-ownership="none">
  853. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  854. <type name="va_list" c:type="va_list"/>
  855. </parameter>
  856. <parameter name="marshal_data"
  857. transfer-ownership="none"
  858. nullable="1"
  859. allow-none="1">
  860. <doc xml:space="preserve">additional data specified when
  861. registering the marshaller, see g_closure_set_marshal() and
  862. g_closure_set_meta_marshal()</doc>
  863. <type name="gpointer" c:type="gpointer"/>
  864. </parameter>
  865. <parameter name="n_params" transfer-ownership="none">
  866. <doc xml:space="preserve">the length of the @param_types array</doc>
  867. <type name="gint" c:type="int"/>
  868. </parameter>
  869. <parameter name="param_types" transfer-ownership="none">
  870. <doc xml:space="preserve">the #GType of each argument from
  871. @args.</doc>
  872. <array length="5" zero-terminated="0" c:type="GType*">
  873. <type name="GType" c:type="GType"/>
  874. </array>
  875. </parameter>
  876. </parameters>
  877. </function>
  878. <function name="marshal_VOID__CHAR"
  879. c:identifier="g_cclosure_marshal_VOID__CHAR">
  880. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  881. character argument.</doc>
  882. <return-value transfer-ownership="none">
  883. <type name="none" c:type="void"/>
  884. </return-value>
  885. <parameters>
  886. <parameter name="closure" transfer-ownership="none">
  887. <doc xml:space="preserve">A #GClosure.</doc>
  888. <type name="Closure" c:type="GClosure*"/>
  889. </parameter>
  890. <parameter name="return_value" transfer-ownership="none">
  891. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  892. if the callback of closure doesn't return a value.</doc>
  893. <type name="Value" c:type="GValue*"/>
  894. </parameter>
  895. <parameter name="n_param_values" transfer-ownership="none">
  896. <doc xml:space="preserve">The length of the @param_values array.</doc>
  897. <type name="guint" c:type="guint"/>
  898. </parameter>
  899. <parameter name="param_values" transfer-ownership="none">
  900. <doc xml:space="preserve">An array of #GValues holding the arguments
  901. on which to invoke the callback of closure.</doc>
  902. <type name="Value" c:type="const GValue*"/>
  903. </parameter>
  904. <parameter name="invocation_hint"
  905. transfer-ownership="none"
  906. nullable="1"
  907. allow-none="1">
  908. <doc xml:space="preserve">The invocation hint given as the last argument to
  909. g_closure_invoke().</doc>
  910. <type name="gpointer" c:type="gpointer"/>
  911. </parameter>
  912. <parameter name="marshal_data"
  913. transfer-ownership="none"
  914. nullable="1"
  915. allow-none="1">
  916. <doc xml:space="preserve">Additional data specified when registering the
  917. marshaller, see g_closure_set_marshal() and
  918. g_closure_set_meta_marshal()</doc>
  919. <type name="gpointer" c:type="gpointer"/>
  920. </parameter>
  921. </parameters>
  922. </function>
  923. <function name="marshal_VOID__CHARv"
  924. c:identifier="g_cclosure_marshal_VOID__CHARv"
  925. introspectable="0">
  926. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__CHAR().</doc>
  927. <return-value transfer-ownership="none">
  928. <type name="none" c:type="void"/>
  929. </return-value>
  930. <parameters>
  931. <parameter name="closure" transfer-ownership="none">
  932. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  933. <type name="Closure" c:type="GClosure*"/>
  934. </parameter>
  935. <parameter name="return_value"
  936. transfer-ownership="none"
  937. nullable="1"
  938. allow-none="1">
  939. <doc xml:space="preserve">a #GValue to store the return
  940. value. May be %NULL if the callback of @closure doesn't return a
  941. value.</doc>
  942. <type name="Value" c:type="GValue*"/>
  943. </parameter>
  944. <parameter name="instance" transfer-ownership="none">
  945. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  946. <type name="TypeInstance" c:type="gpointer"/>
  947. </parameter>
  948. <parameter name="args" transfer-ownership="none">
  949. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  950. <type name="va_list" c:type="va_list"/>
  951. </parameter>
  952. <parameter name="marshal_data"
  953. transfer-ownership="none"
  954. nullable="1"
  955. allow-none="1">
  956. <doc xml:space="preserve">additional data specified when
  957. registering the marshaller, see g_closure_set_marshal() and
  958. g_closure_set_meta_marshal()</doc>
  959. <type name="gpointer" c:type="gpointer"/>
  960. </parameter>
  961. <parameter name="n_params" transfer-ownership="none">
  962. <doc xml:space="preserve">the length of the @param_types array</doc>
  963. <type name="gint" c:type="int"/>
  964. </parameter>
  965. <parameter name="param_types" transfer-ownership="none">
  966. <doc xml:space="preserve">the #GType of each argument from
  967. @args.</doc>
  968. <array length="5" zero-terminated="0" c:type="GType*">
  969. <type name="GType" c:type="GType"/>
  970. </array>
  971. </parameter>
  972. </parameters>
  973. </function>
  974. <function name="marshal_VOID__DOUBLE"
  975. c:identifier="g_cclosure_marshal_VOID__DOUBLE">
  976. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with one
  977. double-precision floating point argument.</doc>
  978. <return-value transfer-ownership="none">
  979. <type name="none" c:type="void"/>
  980. </return-value>
  981. <parameters>
  982. <parameter name="closure" transfer-ownership="none">
  983. <doc xml:space="preserve">A #GClosure.</doc>
  984. <type name="Closure" c:type="GClosure*"/>
  985. </parameter>
  986. <parameter name="return_value" transfer-ownership="none">
  987. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  988. if the callback of closure doesn't return a value.</doc>
  989. <type name="Value" c:type="GValue*"/>
  990. </parameter>
  991. <parameter name="n_param_values" transfer-ownership="none">
  992. <doc xml:space="preserve">The length of the @param_values array.</doc>
  993. <type name="guint" c:type="guint"/>
  994. </parameter>
  995. <parameter name="param_values" transfer-ownership="none">
  996. <doc xml:space="preserve">An array of #GValues holding the arguments
  997. on which to invoke the callback of closure.</doc>
  998. <type name="Value" c:type="const GValue*"/>
  999. </parameter>
  1000. <parameter name="invocation_hint"
  1001. transfer-ownership="none"
  1002. nullable="1"
  1003. allow-none="1">
  1004. <doc xml:space="preserve">The invocation hint given as the last argument to
  1005. g_closure_invoke().</doc>
  1006. <type name="gpointer" c:type="gpointer"/>
  1007. </parameter>
  1008. <parameter name="marshal_data"
  1009. transfer-ownership="none"
  1010. nullable="1"
  1011. allow-none="1">
  1012. <doc xml:space="preserve">Additional data specified when registering the
  1013. marshaller, see g_closure_set_marshal() and
  1014. g_closure_set_meta_marshal()</doc>
  1015. <type name="gpointer" c:type="gpointer"/>
  1016. </parameter>
  1017. </parameters>
  1018. </function>
  1019. <function name="marshal_VOID__DOUBLEv"
  1020. c:identifier="g_cclosure_marshal_VOID__DOUBLEv"
  1021. introspectable="0">
  1022. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__DOUBLE().</doc>
  1023. <return-value transfer-ownership="none">
  1024. <type name="none" c:type="void"/>
  1025. </return-value>
  1026. <parameters>
  1027. <parameter name="closure" transfer-ownership="none">
  1028. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  1029. <type name="Closure" c:type="GClosure*"/>
  1030. </parameter>
  1031. <parameter name="return_value"
  1032. transfer-ownership="none"
  1033. nullable="1"
  1034. allow-none="1">
  1035. <doc xml:space="preserve">a #GValue to store the return
  1036. value. May be %NULL if the callback of @closure doesn't return a
  1037. value.</doc>
  1038. <type name="Value" c:type="GValue*"/>
  1039. </parameter>
  1040. <parameter name="instance" transfer-ownership="none">
  1041. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  1042. <type name="TypeInstance" c:type="gpointer"/>
  1043. </parameter>
  1044. <parameter name="args" transfer-ownership="none">
  1045. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  1046. <type name="va_list" c:type="va_list"/>
  1047. </parameter>
  1048. <parameter name="marshal_data"
  1049. transfer-ownership="none"
  1050. nullable="1"
  1051. allow-none="1">
  1052. <doc xml:space="preserve">additional data specified when
  1053. registering the marshaller, see g_closure_set_marshal() and
  1054. g_closure_set_meta_marshal()</doc>
  1055. <type name="gpointer" c:type="gpointer"/>
  1056. </parameter>
  1057. <parameter name="n_params" transfer-ownership="none">
  1058. <doc xml:space="preserve">the length of the @param_types array</doc>
  1059. <type name="gint" c:type="int"/>
  1060. </parameter>
  1061. <parameter name="param_types" transfer-ownership="none">
  1062. <doc xml:space="preserve">the #GType of each argument from
  1063. @args.</doc>
  1064. <array length="5" zero-terminated="0" c:type="GType*">
  1065. <type name="GType" c:type="GType"/>
  1066. </array>
  1067. </parameter>
  1068. </parameters>
  1069. </function>
  1070. <function name="marshal_VOID__ENUM"
  1071. c:identifier="g_cclosure_marshal_VOID__ENUM">
  1072. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  1073. argument with an enumerated type.</doc>
  1074. <return-value transfer-ownership="none">
  1075. <type name="none" c:type="void"/>
  1076. </return-value>
  1077. <parameters>
  1078. <parameter name="closure" transfer-ownership="none">
  1079. <doc xml:space="preserve">A #GClosure.</doc>
  1080. <type name="Closure" c:type="GClosure*"/>
  1081. </parameter>
  1082. <parameter name="return_value" transfer-ownership="none">
  1083. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  1084. if the callback of closure doesn't return a value.</doc>
  1085. <type name="Value" c:type="GValue*"/>
  1086. </parameter>
  1087. <parameter name="n_param_values" transfer-ownership="none">
  1088. <doc xml:space="preserve">The length of the @param_values array.</doc>
  1089. <type name="guint" c:type="guint"/>
  1090. </parameter>
  1091. <parameter name="param_values" transfer-ownership="none">
  1092. <doc xml:space="preserve">An array of #GValues holding the arguments
  1093. on which to invoke the callback of closure.</doc>
  1094. <type name="Value" c:type="const GValue*"/>
  1095. </parameter>
  1096. <parameter name="invocation_hint"
  1097. transfer-ownership="none"
  1098. nullable="1"
  1099. allow-none="1">
  1100. <doc xml:space="preserve">The invocation hint given as the last argument to
  1101. g_closure_invoke().</doc>
  1102. <type name="gpointer" c:type="gpointer"/>
  1103. </parameter>
  1104. <parameter name="marshal_data"
  1105. transfer-ownership="none"
  1106. nullable="1"
  1107. allow-none="1">
  1108. <doc xml:space="preserve">Additional data specified when registering the
  1109. marshaller, see g_closure_set_marshal() and
  1110. g_closure_set_meta_marshal()</doc>
  1111. <type name="gpointer" c:type="gpointer"/>
  1112. </parameter>
  1113. </parameters>
  1114. </function>
  1115. <function name="marshal_VOID__ENUMv"
  1116. c:identifier="g_cclosure_marshal_VOID__ENUMv"
  1117. introspectable="0">
  1118. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__ENUM().</doc>
  1119. <return-value transfer-ownership="none">
  1120. <type name="none" c:type="void"/>
  1121. </return-value>
  1122. <parameters>
  1123. <parameter name="closure" transfer-ownership="none">
  1124. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  1125. <type name="Closure" c:type="GClosure*"/>
  1126. </parameter>
  1127. <parameter name="return_value"
  1128. transfer-ownership="none"
  1129. nullable="1"
  1130. allow-none="1">
  1131. <doc xml:space="preserve">a #GValue to store the return
  1132. value. May be %NULL if the callback of @closure doesn't return a
  1133. value.</doc>
  1134. <type name="Value" c:type="GValue*"/>
  1135. </parameter>
  1136. <parameter name="instance" transfer-ownership="none">
  1137. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  1138. <type name="TypeInstance" c:type="gpointer"/>
  1139. </parameter>
  1140. <parameter name="args" transfer-ownership="none">
  1141. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  1142. <type name="va_list" c:type="va_list"/>
  1143. </parameter>
  1144. <parameter name="marshal_data"
  1145. transfer-ownership="none"
  1146. nullable="1"
  1147. allow-none="1">
  1148. <doc xml:space="preserve">additional data specified when
  1149. registering the marshaller, see g_closure_set_marshal() and
  1150. g_closure_set_meta_marshal()</doc>
  1151. <type name="gpointer" c:type="gpointer"/>
  1152. </parameter>
  1153. <parameter name="n_params" transfer-ownership="none">
  1154. <doc xml:space="preserve">the length of the @param_types array</doc>
  1155. <type name="gint" c:type="int"/>
  1156. </parameter>
  1157. <parameter name="param_types" transfer-ownership="none">
  1158. <doc xml:space="preserve">the #GType of each argument from
  1159. @args.</doc>
  1160. <array length="5" zero-terminated="0" c:type="GType*">
  1161. <type name="GType" c:type="GType"/>
  1162. </array>
  1163. </parameter>
  1164. </parameters>
  1165. </function>
  1166. <function name="marshal_VOID__FLAGS"
  1167. c:identifier="g_cclosure_marshal_VOID__FLAGS">
  1168. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  1169. argument with a flags types.</doc>
  1170. <return-value transfer-ownership="none">
  1171. <type name="none" c:type="void"/>
  1172. </return-value>
  1173. <parameters>
  1174. <parameter name="closure" transfer-ownership="none">
  1175. <doc xml:space="preserve">A #GClosure.</doc>
  1176. <type name="Closure" c:type="GClosure*"/>
  1177. </parameter>
  1178. <parameter name="return_value" transfer-ownership="none">
  1179. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  1180. if the callback of closure doesn't return a value.</doc>
  1181. <type name="Value" c:type="GValue*"/>
  1182. </parameter>
  1183. <parameter name="n_param_values" transfer-ownership="none">
  1184. <doc xml:space="preserve">The length of the @param_values array.</doc>
  1185. <type name="guint" c:type="guint"/>
  1186. </parameter>
  1187. <parameter name="param_values" transfer-ownership="none">
  1188. <doc xml:space="preserve">An array of #GValues holding the arguments
  1189. on which to invoke the callback of closure.</doc>
  1190. <type name="Value" c:type="const GValue*"/>
  1191. </parameter>
  1192. <parameter name="invocation_hint"
  1193. transfer-ownership="none"
  1194. nullable="1"
  1195. allow-none="1">
  1196. <doc xml:space="preserve">The invocation hint given as the last argument to
  1197. g_closure_invoke().</doc>
  1198. <type name="gpointer" c:type="gpointer"/>
  1199. </parameter>
  1200. <parameter name="marshal_data"
  1201. transfer-ownership="none"
  1202. nullable="1"
  1203. allow-none="1">
  1204. <doc xml:space="preserve">Additional data specified when registering the
  1205. marshaller, see g_closure_set_marshal() and
  1206. g_closure_set_meta_marshal()</doc>
  1207. <type name="gpointer" c:type="gpointer"/>
  1208. </parameter>
  1209. </parameters>
  1210. </function>
  1211. <function name="marshal_VOID__FLAGSv"
  1212. c:identifier="g_cclosure_marshal_VOID__FLAGSv"
  1213. introspectable="0">
  1214. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__FLAGS().</doc>
  1215. <return-value transfer-ownership="none">
  1216. <type name="none" c:type="void"/>
  1217. </return-value>
  1218. <parameters>
  1219. <parameter name="closure" transfer-ownership="none">
  1220. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  1221. <type name="Closure" c:type="GClosure*"/>
  1222. </parameter>
  1223. <parameter name="return_value"
  1224. transfer-ownership="none"
  1225. nullable="1"
  1226. allow-none="1">
  1227. <doc xml:space="preserve">a #GValue to store the return
  1228. value. May be %NULL if the callback of @closure doesn't return a
  1229. value.</doc>
  1230. <type name="Value" c:type="GValue*"/>
  1231. </parameter>
  1232. <parameter name="instance" transfer-ownership="none">
  1233. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  1234. <type name="TypeInstance" c:type="gpointer"/>
  1235. </parameter>
  1236. <parameter name="args" transfer-ownership="none">
  1237. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  1238. <type name="va_list" c:type="va_list"/>
  1239. </parameter>
  1240. <parameter name="marshal_data"
  1241. transfer-ownership="none"
  1242. nullable="1"
  1243. allow-none="1">
  1244. <doc xml:space="preserve">additional data specified when
  1245. registering the marshaller, see g_closure_set_marshal() and
  1246. g_closure_set_meta_marshal()</doc>
  1247. <type name="gpointer" c:type="gpointer"/>
  1248. </parameter>
  1249. <parameter name="n_params" transfer-ownership="none">
  1250. <doc xml:space="preserve">the length of the @param_types array</doc>
  1251. <type name="gint" c:type="int"/>
  1252. </parameter>
  1253. <parameter name="param_types" transfer-ownership="none">
  1254. <doc xml:space="preserve">the #GType of each argument from
  1255. @args.</doc>
  1256. <array length="5" zero-terminated="0" c:type="GType*">
  1257. <type name="GType" c:type="GType"/>
  1258. </array>
  1259. </parameter>
  1260. </parameters>
  1261. </function>
  1262. <function name="marshal_VOID__FLOAT"
  1263. c:identifier="g_cclosure_marshal_VOID__FLOAT">
  1264. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with one
  1265. single-precision floating point argument.</doc>
  1266. <return-value transfer-ownership="none">
  1267. <type name="none" c:type="void"/>
  1268. </return-value>
  1269. <parameters>
  1270. <parameter name="closure" transfer-ownership="none">
  1271. <doc xml:space="preserve">A #GClosure.</doc>
  1272. <type name="Closure" c:type="GClosure*"/>
  1273. </parameter>
  1274. <parameter name="return_value" transfer-ownership="none">
  1275. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  1276. if the callback of closure doesn't return a value.</doc>
  1277. <type name="Value" c:type="GValue*"/>
  1278. </parameter>
  1279. <parameter name="n_param_values" transfer-ownership="none">
  1280. <doc xml:space="preserve">The length of the @param_values array.</doc>
  1281. <type name="guint" c:type="guint"/>
  1282. </parameter>
  1283. <parameter name="param_values" transfer-ownership="none">
  1284. <doc xml:space="preserve">An array of #GValues holding the arguments
  1285. on which to invoke the callback of closure.</doc>
  1286. <type name="Value" c:type="const GValue*"/>
  1287. </parameter>
  1288. <parameter name="invocation_hint"
  1289. transfer-ownership="none"
  1290. nullable="1"
  1291. allow-none="1">
  1292. <doc xml:space="preserve">The invocation hint given as the last argument to
  1293. g_closure_invoke().</doc>
  1294. <type name="gpointer" c:type="gpointer"/>
  1295. </parameter>
  1296. <parameter name="marshal_data"
  1297. transfer-ownership="none"
  1298. nullable="1"
  1299. allow-none="1">
  1300. <doc xml:space="preserve">Additional data specified when registering the
  1301. marshaller, see g_closure_set_marshal() and
  1302. g_closure_set_meta_marshal()</doc>
  1303. <type name="gpointer" c:type="gpointer"/>
  1304. </parameter>
  1305. </parameters>
  1306. </function>
  1307. <function name="marshal_VOID__FLOATv"
  1308. c:identifier="g_cclosure_marshal_VOID__FLOATv"
  1309. introspectable="0">
  1310. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__FLOAT().</doc>
  1311. <return-value transfer-ownership="none">
  1312. <type name="none" c:type="void"/>
  1313. </return-value>
  1314. <parameters>
  1315. <parameter name="closure" transfer-ownership="none">
  1316. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  1317. <type name="Closure" c:type="GClosure*"/>
  1318. </parameter>
  1319. <parameter name="return_value"
  1320. transfer-ownership="none"
  1321. nullable="1"
  1322. allow-none="1">
  1323. <doc xml:space="preserve">a #GValue to store the return
  1324. value. May be %NULL if the callback of @closure doesn't return a
  1325. value.</doc>
  1326. <type name="Value" c:type="GValue*"/>
  1327. </parameter>
  1328. <parameter name="instance" transfer-ownership="none">
  1329. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  1330. <type name="TypeInstance" c:type="gpointer"/>
  1331. </parameter>
  1332. <parameter name="args" transfer-ownership="none">
  1333. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  1334. <type name="va_list" c:type="va_list"/>
  1335. </parameter>
  1336. <parameter name="marshal_data"
  1337. transfer-ownership="none"
  1338. nullable="1"
  1339. allow-none="1">
  1340. <doc xml:space="preserve">additional data specified when
  1341. registering the marshaller, see g_closure_set_marshal() and
  1342. g_closure_set_meta_marshal()</doc>
  1343. <type name="gpointer" c:type="gpointer"/>
  1344. </parameter>
  1345. <parameter name="n_params" transfer-ownership="none">
  1346. <doc xml:space="preserve">the length of the @param_types array</doc>
  1347. <type name="gint" c:type="int"/>
  1348. </parameter>
  1349. <parameter name="param_types" transfer-ownership="none">
  1350. <doc xml:space="preserve">the #GType of each argument from
  1351. @args.</doc>
  1352. <array length="5" zero-terminated="0" c:type="GType*">
  1353. <type name="GType" c:type="GType"/>
  1354. </array>
  1355. </parameter>
  1356. </parameters>
  1357. </function>
  1358. <function name="marshal_VOID__INT"
  1359. c:identifier="g_cclosure_marshal_VOID__INT">
  1360. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  1361. integer argument.</doc>
  1362. <return-value transfer-ownership="none">
  1363. <type name="none" c:type="void"/>
  1364. </return-value>
  1365. <parameters>
  1366. <parameter name="closure" transfer-ownership="none">
  1367. <doc xml:space="preserve">A #GClosure.</doc>
  1368. <type name="Closure" c:type="GClosure*"/>
  1369. </parameter>
  1370. <parameter name="return_value" transfer-ownership="none">
  1371. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  1372. if the callback of closure doesn't return a value.</doc>
  1373. <type name="Value" c:type="GValue*"/>
  1374. </parameter>
  1375. <parameter name="n_param_values" transfer-ownership="none">
  1376. <doc xml:space="preserve">The length of the @param_values array.</doc>
  1377. <type name="guint" c:type="guint"/>
  1378. </parameter>
  1379. <parameter name="param_values" transfer-ownership="none">
  1380. <doc xml:space="preserve">An array of #GValues holding the arguments
  1381. on which to invoke the callback of closure.</doc>
  1382. <type name="Value" c:type="const GValue*"/>
  1383. </parameter>
  1384. <parameter name="invocation_hint"
  1385. transfer-ownership="none"
  1386. nullable="1"
  1387. allow-none="1">
  1388. <doc xml:space="preserve">The invocation hint given as the last argument to
  1389. g_closure_invoke().</doc>
  1390. <type name="gpointer" c:type="gpointer"/>
  1391. </parameter>
  1392. <parameter name="marshal_data"
  1393. transfer-ownership="none"
  1394. nullable="1"
  1395. allow-none="1">
  1396. <doc xml:space="preserve">Additional data specified when registering the
  1397. marshaller, see g_closure_set_marshal() and
  1398. g_closure_set_meta_marshal()</doc>
  1399. <type name="gpointer" c:type="gpointer"/>
  1400. </parameter>
  1401. </parameters>
  1402. </function>
  1403. <function name="marshal_VOID__INTv"
  1404. c:identifier="g_cclosure_marshal_VOID__INTv"
  1405. introspectable="0">
  1406. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__INT().</doc>
  1407. <return-value transfer-ownership="none">
  1408. <type name="none" c:type="void"/>
  1409. </return-value>
  1410. <parameters>
  1411. <parameter name="closure" transfer-ownership="none">
  1412. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  1413. <type name="Closure" c:type="GClosure*"/>
  1414. </parameter>
  1415. <parameter name="return_value"
  1416. transfer-ownership="none"
  1417. nullable="1"
  1418. allow-none="1">
  1419. <doc xml:space="preserve">a #GValue to store the return
  1420. value. May be %NULL if the callback of @closure doesn't return a
  1421. value.</doc>
  1422. <type name="Value" c:type="GValue*"/>
  1423. </parameter>
  1424. <parameter name="instance" transfer-ownership="none">
  1425. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  1426. <type name="TypeInstance" c:type="gpointer"/>
  1427. </parameter>
  1428. <parameter name="args" transfer-ownership="none">
  1429. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  1430. <type name="va_list" c:type="va_list"/>
  1431. </parameter>
  1432. <parameter name="marshal_data"
  1433. transfer-ownership="none"
  1434. nullable="1"
  1435. allow-none="1">
  1436. <doc xml:space="preserve">additional data specified when
  1437. registering the marshaller, see g_closure_set_marshal() and
  1438. g_closure_set_meta_marshal()</doc>
  1439. <type name="gpointer" c:type="gpointer"/>
  1440. </parameter>
  1441. <parameter name="n_params" transfer-ownership="none">
  1442. <doc xml:space="preserve">the length of the @param_types array</doc>
  1443. <type name="gint" c:type="int"/>
  1444. </parameter>
  1445. <parameter name="param_types" transfer-ownership="none">
  1446. <doc xml:space="preserve">the #GType of each argument from
  1447. @args.</doc>
  1448. <array length="5" zero-terminated="0" c:type="GType*">
  1449. <type name="GType" c:type="GType"/>
  1450. </array>
  1451. </parameter>
  1452. </parameters>
  1453. </function>
  1454. <function name="marshal_VOID__LONG"
  1455. c:identifier="g_cclosure_marshal_VOID__LONG">
  1456. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with with a single
  1457. long integer argument.</doc>
  1458. <return-value transfer-ownership="none">
  1459. <type name="none" c:type="void"/>
  1460. </return-value>
  1461. <parameters>
  1462. <parameter name="closure" transfer-ownership="none">
  1463. <doc xml:space="preserve">A #GClosure.</doc>
  1464. <type name="Closure" c:type="GClosure*"/>
  1465. </parameter>
  1466. <parameter name="return_value" transfer-ownership="none">
  1467. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  1468. if the callback of closure doesn't return a value.</doc>
  1469. <type name="Value" c:type="GValue*"/>
  1470. </parameter>
  1471. <parameter name="n_param_values" transfer-ownership="none">
  1472. <doc xml:space="preserve">The length of the @param_values array.</doc>
  1473. <type name="guint" c:type="guint"/>
  1474. </parameter>
  1475. <parameter name="param_values" transfer-ownership="none">
  1476. <doc xml:space="preserve">An array of #GValues holding the arguments
  1477. on which to invoke the callback of closure.</doc>
  1478. <type name="Value" c:type="const GValue*"/>
  1479. </parameter>
  1480. <parameter name="invocation_hint"
  1481. transfer-ownership="none"
  1482. nullable="1"
  1483. allow-none="1">
  1484. <doc xml:space="preserve">The invocation hint given as the last argument to
  1485. g_closure_invoke().</doc>
  1486. <type name="gpointer" c:type="gpointer"/>
  1487. </parameter>
  1488. <parameter name="marshal_data"
  1489. transfer-ownership="none"
  1490. nullable="1"
  1491. allow-none="1">
  1492. <doc xml:space="preserve">Additional data specified when registering the
  1493. marshaller, see g_closure_set_marshal() and
  1494. g_closure_set_meta_marshal()</doc>
  1495. <type name="gpointer" c:type="gpointer"/>
  1496. </parameter>
  1497. </parameters>
  1498. </function>
  1499. <function name="marshal_VOID__LONGv"
  1500. c:identifier="g_cclosure_marshal_VOID__LONGv"
  1501. introspectable="0">
  1502. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__LONG().</doc>
  1503. <return-value transfer-ownership="none">
  1504. <type name="none" c:type="void"/>
  1505. </return-value>
  1506. <parameters>
  1507. <parameter name="closure" transfer-ownership="none">
  1508. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  1509. <type name="Closure" c:type="GClosure*"/>
  1510. </parameter>
  1511. <parameter name="return_value"
  1512. transfer-ownership="none"
  1513. nullable="1"
  1514. allow-none="1">
  1515. <doc xml:space="preserve">a #GValue to store the return
  1516. value. May be %NULL if the callback of @closure doesn't return a
  1517. value.</doc>
  1518. <type name="Value" c:type="GValue*"/>
  1519. </parameter>
  1520. <parameter name="instance" transfer-ownership="none">
  1521. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  1522. <type name="TypeInstance" c:type="gpointer"/>
  1523. </parameter>
  1524. <parameter name="args" transfer-ownership="none">
  1525. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  1526. <type name="va_list" c:type="va_list"/>
  1527. </parameter>
  1528. <parameter name="marshal_data"
  1529. transfer-ownership="none"
  1530. nullable="1"
  1531. allow-none="1">
  1532. <doc xml:space="preserve">additional data specified when
  1533. registering the marshaller, see g_closure_set_marshal() and
  1534. g_closure_set_meta_marshal()</doc>
  1535. <type name="gpointer" c:type="gpointer"/>
  1536. </parameter>
  1537. <parameter name="n_params" transfer-ownership="none">
  1538. <doc xml:space="preserve">the length of the @param_types array</doc>
  1539. <type name="gint" c:type="int"/>
  1540. </parameter>
  1541. <parameter name="param_types" transfer-ownership="none">
  1542. <doc xml:space="preserve">the #GType of each argument from
  1543. @args.</doc>
  1544. <array length="5" zero-terminated="0" c:type="GType*">
  1545. <type name="GType" c:type="GType"/>
  1546. </array>
  1547. </parameter>
  1548. </parameters>
  1549. </function>
  1550. <function name="marshal_VOID__OBJECT"
  1551. c:identifier="g_cclosure_marshal_VOID__OBJECT">
  1552. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  1553. #GObject argument.</doc>
  1554. <return-value transfer-ownership="none">
  1555. <type name="none" c:type="void"/>
  1556. </return-value>
  1557. <parameters>
  1558. <parameter name="closure" transfer-ownership="none">
  1559. <doc xml:space="preserve">A #GClosure.</doc>
  1560. <type name="Closure" c:type="GClosure*"/>
  1561. </parameter>
  1562. <parameter name="return_value" transfer-ownership="none">
  1563. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  1564. if the callback of closure doesn't return a value.</doc>
  1565. <type name="Value" c:type="GValue*"/>
  1566. </parameter>
  1567. <parameter name="n_param_values" transfer-ownership="none">
  1568. <doc xml:space="preserve">The length of the @param_values array.</doc>
  1569. <type name="guint" c:type="guint"/>
  1570. </parameter>
  1571. <parameter name="param_values" transfer-ownership="none">
  1572. <doc xml:space="preserve">An array of #GValues holding the arguments
  1573. on which to invoke the callback of closure.</doc>
  1574. <type name="Value" c:type="const GValue*"/>
  1575. </parameter>
  1576. <parameter name="invocation_hint"
  1577. transfer-ownership="none"
  1578. nullable="1"
  1579. allow-none="1">
  1580. <doc xml:space="preserve">The invocation hint given as the last argument to
  1581. g_closure_invoke().</doc>
  1582. <type name="gpointer" c:type="gpointer"/>
  1583. </parameter>
  1584. <parameter name="marshal_data"
  1585. transfer-ownership="none"
  1586. nullable="1"
  1587. allow-none="1">
  1588. <doc xml:space="preserve">Additional data specified when registering the
  1589. marshaller, see g_closure_set_marshal() and
  1590. g_closure_set_meta_marshal()</doc>
  1591. <type name="gpointer" c:type="gpointer"/>
  1592. </parameter>
  1593. </parameters>
  1594. </function>
  1595. <function name="marshal_VOID__OBJECTv"
  1596. c:identifier="g_cclosure_marshal_VOID__OBJECTv"
  1597. introspectable="0">
  1598. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__OBJECT().</doc>
  1599. <return-value transfer-ownership="none">
  1600. <type name="none" c:type="void"/>
  1601. </return-value>
  1602. <parameters>
  1603. <parameter name="closure" transfer-ownership="none">
  1604. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  1605. <type name="Closure" c:type="GClosure*"/>
  1606. </parameter>
  1607. <parameter name="return_value"
  1608. transfer-ownership="none"
  1609. nullable="1"
  1610. allow-none="1">
  1611. <doc xml:space="preserve">a #GValue to store the return
  1612. value. May be %NULL if the callback of @closure doesn't return a
  1613. value.</doc>
  1614. <type name="Value" c:type="GValue*"/>
  1615. </parameter>
  1616. <parameter name="instance" transfer-ownership="none">
  1617. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  1618. <type name="TypeInstance" c:type="gpointer"/>
  1619. </parameter>
  1620. <parameter name="args" transfer-ownership="none">
  1621. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  1622. <type name="va_list" c:type="va_list"/>
  1623. </parameter>
  1624. <parameter name="marshal_data"
  1625. transfer-ownership="none"
  1626. nullable="1"
  1627. allow-none="1">
  1628. <doc xml:space="preserve">additional data specified when
  1629. registering the marshaller, see g_closure_set_marshal() and
  1630. g_closure_set_meta_marshal()</doc>
  1631. <type name="gpointer" c:type="gpointer"/>
  1632. </parameter>
  1633. <parameter name="n_params" transfer-ownership="none">
  1634. <doc xml:space="preserve">the length of the @param_types array</doc>
  1635. <type name="gint" c:type="int"/>
  1636. </parameter>
  1637. <parameter name="param_types" transfer-ownership="none">
  1638. <doc xml:space="preserve">the #GType of each argument from
  1639. @args.</doc>
  1640. <array length="5" zero-terminated="0" c:type="GType*">
  1641. <type name="GType" c:type="GType"/>
  1642. </array>
  1643. </parameter>
  1644. </parameters>
  1645. </function>
  1646. <function name="marshal_VOID__PARAM"
  1647. c:identifier="g_cclosure_marshal_VOID__PARAM">
  1648. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  1649. argument of type #GParamSpec.</doc>
  1650. <return-value transfer-ownership="none">
  1651. <type name="none" c:type="void"/>
  1652. </return-value>
  1653. <parameters>
  1654. <parameter name="closure" transfer-ownership="none">
  1655. <doc xml:space="preserve">A #GClosure.</doc>
  1656. <type name="Closure" c:type="GClosure*"/>
  1657. </parameter>
  1658. <parameter name="return_value" transfer-ownership="none">
  1659. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  1660. if the callback of closure doesn't return a value.</doc>
  1661. <type name="Value" c:type="GValue*"/>
  1662. </parameter>
  1663. <parameter name="n_param_values" transfer-ownership="none">
  1664. <doc xml:space="preserve">The length of the @param_values array.</doc>
  1665. <type name="guint" c:type="guint"/>
  1666. </parameter>
  1667. <parameter name="param_values" transfer-ownership="none">
  1668. <doc xml:space="preserve">An array of #GValues holding the arguments
  1669. on which to invoke the callback of closure.</doc>
  1670. <type name="Value" c:type="const GValue*"/>
  1671. </parameter>
  1672. <parameter name="invocation_hint"
  1673. transfer-ownership="none"
  1674. nullable="1"
  1675. allow-none="1">
  1676. <doc xml:space="preserve">The invocation hint given as the last argument to
  1677. g_closure_invoke().</doc>
  1678. <type name="gpointer" c:type="gpointer"/>
  1679. </parameter>
  1680. <parameter name="marshal_data"
  1681. transfer-ownership="none"
  1682. nullable="1"
  1683. allow-none="1">
  1684. <doc xml:space="preserve">Additional data specified when registering the
  1685. marshaller, see g_closure_set_marshal() and
  1686. g_closure_set_meta_marshal()</doc>
  1687. <type name="gpointer" c:type="gpointer"/>
  1688. </parameter>
  1689. </parameters>
  1690. </function>
  1691. <function name="marshal_VOID__PARAMv"
  1692. c:identifier="g_cclosure_marshal_VOID__PARAMv"
  1693. introspectable="0">
  1694. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__PARAM().</doc>
  1695. <return-value transfer-ownership="none">
  1696. <type name="none" c:type="void"/>
  1697. </return-value>
  1698. <parameters>
  1699. <parameter name="closure" transfer-ownership="none">
  1700. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  1701. <type name="Closure" c:type="GClosure*"/>
  1702. </parameter>
  1703. <parameter name="return_value"
  1704. transfer-ownership="none"
  1705. nullable="1"
  1706. allow-none="1">
  1707. <doc xml:space="preserve">a #GValue to store the return
  1708. value. May be %NULL if the callback of @closure doesn't return a
  1709. value.</doc>
  1710. <type name="Value" c:type="GValue*"/>
  1711. </parameter>
  1712. <parameter name="instance" transfer-ownership="none">
  1713. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  1714. <type name="TypeInstance" c:type="gpointer"/>
  1715. </parameter>
  1716. <parameter name="args" transfer-ownership="none">
  1717. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  1718. <type name="va_list" c:type="va_list"/>
  1719. </parameter>
  1720. <parameter name="marshal_data"
  1721. transfer-ownership="none"
  1722. nullable="1"
  1723. allow-none="1">
  1724. <doc xml:space="preserve">additional data specified when
  1725. registering the marshaller, see g_closure_set_marshal() and
  1726. g_closure_set_meta_marshal()</doc>
  1727. <type name="gpointer" c:type="gpointer"/>
  1728. </parameter>
  1729. <parameter name="n_params" transfer-ownership="none">
  1730. <doc xml:space="preserve">the length of the @param_types array</doc>
  1731. <type name="gint" c:type="int"/>
  1732. </parameter>
  1733. <parameter name="param_types" transfer-ownership="none">
  1734. <doc xml:space="preserve">the #GType of each argument from
  1735. @args.</doc>
  1736. <array length="5" zero-terminated="0" c:type="GType*">
  1737. <type name="GType" c:type="GType"/>
  1738. </array>
  1739. </parameter>
  1740. </parameters>
  1741. </function>
  1742. <function name="marshal_VOID__POINTER"
  1743. c:identifier="g_cclosure_marshal_VOID__POINTER">
  1744. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single raw
  1745. pointer argument type.
  1746. If it is possible, it is better to use one of the more specific
  1747. functions such as g_cclosure_marshal_VOID__OBJECT() or
  1748. g_cclosure_marshal_VOID__OBJECT().</doc>
  1749. <return-value transfer-ownership="none">
  1750. <type name="none" c:type="void"/>
  1751. </return-value>
  1752. <parameters>
  1753. <parameter name="closure" transfer-ownership="none">
  1754. <doc xml:space="preserve">A #GClosure.</doc>
  1755. <type name="Closure" c:type="GClosure*"/>
  1756. </parameter>
  1757. <parameter name="return_value" transfer-ownership="none">
  1758. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  1759. if the callback of closure doesn't return a value.</doc>
  1760. <type name="Value" c:type="GValue*"/>
  1761. </parameter>
  1762. <parameter name="n_param_values" transfer-ownership="none">
  1763. <doc xml:space="preserve">The length of the @param_values array.</doc>
  1764. <type name="guint" c:type="guint"/>
  1765. </parameter>
  1766. <parameter name="param_values" transfer-ownership="none">
  1767. <doc xml:space="preserve">An array of #GValues holding the arguments
  1768. on which to invoke the callback of closure.</doc>
  1769. <type name="Value" c:type="const GValue*"/>
  1770. </parameter>
  1771. <parameter name="invocation_hint"
  1772. transfer-ownership="none"
  1773. nullable="1"
  1774. allow-none="1">
  1775. <doc xml:space="preserve">The invocation hint given as the last argument to
  1776. g_closure_invoke().</doc>
  1777. <type name="gpointer" c:type="gpointer"/>
  1778. </parameter>
  1779. <parameter name="marshal_data"
  1780. transfer-ownership="none"
  1781. nullable="1"
  1782. allow-none="1">
  1783. <doc xml:space="preserve">Additional data specified when registering the
  1784. marshaller, see g_closure_set_marshal() and
  1785. g_closure_set_meta_marshal()</doc>
  1786. <type name="gpointer" c:type="gpointer"/>
  1787. </parameter>
  1788. </parameters>
  1789. </function>
  1790. <function name="marshal_VOID__POINTERv"
  1791. c:identifier="g_cclosure_marshal_VOID__POINTERv"
  1792. introspectable="0">
  1793. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__POINTER().</doc>
  1794. <return-value transfer-ownership="none">
  1795. <type name="none" c:type="void"/>
  1796. </return-value>
  1797. <parameters>
  1798. <parameter name="closure" transfer-ownership="none">
  1799. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  1800. <type name="Closure" c:type="GClosure*"/>
  1801. </parameter>
  1802. <parameter name="return_value"
  1803. transfer-ownership="none"
  1804. nullable="1"
  1805. allow-none="1">
  1806. <doc xml:space="preserve">a #GValue to store the return
  1807. value. May be %NULL if the callback of @closure doesn't return a
  1808. value.</doc>
  1809. <type name="Value" c:type="GValue*"/>
  1810. </parameter>
  1811. <parameter name="instance" transfer-ownership="none">
  1812. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  1813. <type name="TypeInstance" c:type="gpointer"/>
  1814. </parameter>
  1815. <parameter name="args" transfer-ownership="none">
  1816. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  1817. <type name="va_list" c:type="va_list"/>
  1818. </parameter>
  1819. <parameter name="marshal_data"
  1820. transfer-ownership="none"
  1821. nullable="1"
  1822. allow-none="1">
  1823. <doc xml:space="preserve">additional data specified when
  1824. registering the marshaller, see g_closure_set_marshal() and
  1825. g_closure_set_meta_marshal()</doc>
  1826. <type name="gpointer" c:type="gpointer"/>
  1827. </parameter>
  1828. <parameter name="n_params" transfer-ownership="none">
  1829. <doc xml:space="preserve">the length of the @param_types array</doc>
  1830. <type name="gint" c:type="int"/>
  1831. </parameter>
  1832. <parameter name="param_types" transfer-ownership="none">
  1833. <doc xml:space="preserve">the #GType of each argument from
  1834. @args.</doc>
  1835. <array length="5" zero-terminated="0" c:type="GType*">
  1836. <type name="GType" c:type="GType"/>
  1837. </array>
  1838. </parameter>
  1839. </parameters>
  1840. </function>
  1841. <function name="marshal_VOID__STRING"
  1842. c:identifier="g_cclosure_marshal_VOID__STRING">
  1843. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single string
  1844. argument.</doc>
  1845. <return-value transfer-ownership="none">
  1846. <type name="none" c:type="void"/>
  1847. </return-value>
  1848. <parameters>
  1849. <parameter name="closure" transfer-ownership="none">
  1850. <doc xml:space="preserve">A #GClosure.</doc>
  1851. <type name="Closure" c:type="GClosure*"/>
  1852. </parameter>
  1853. <parameter name="return_value" transfer-ownership="none">
  1854. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  1855. if the callback of closure doesn't return a value.</doc>
  1856. <type name="Value" c:type="GValue*"/>
  1857. </parameter>
  1858. <parameter name="n_param_values" transfer-ownership="none">
  1859. <doc xml:space="preserve">The length of the @param_values array.</doc>
  1860. <type name="guint" c:type="guint"/>
  1861. </parameter>
  1862. <parameter name="param_values" transfer-ownership="none">
  1863. <doc xml:space="preserve">An array of #GValues holding the arguments
  1864. on which to invoke the callback of closure.</doc>
  1865. <type name="Value" c:type="const GValue*"/>
  1866. </parameter>
  1867. <parameter name="invocation_hint"
  1868. transfer-ownership="none"
  1869. nullable="1"
  1870. allow-none="1">
  1871. <doc xml:space="preserve">The invocation hint given as the last argument to
  1872. g_closure_invoke().</doc>
  1873. <type name="gpointer" c:type="gpointer"/>
  1874. </parameter>
  1875. <parameter name="marshal_data"
  1876. transfer-ownership="none"
  1877. nullable="1"
  1878. allow-none="1">
  1879. <doc xml:space="preserve">Additional data specified when registering the
  1880. marshaller, see g_closure_set_marshal() and
  1881. g_closure_set_meta_marshal()</doc>
  1882. <type name="gpointer" c:type="gpointer"/>
  1883. </parameter>
  1884. </parameters>
  1885. </function>
  1886. <function name="marshal_VOID__STRINGv"
  1887. c:identifier="g_cclosure_marshal_VOID__STRINGv"
  1888. introspectable="0">
  1889. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__STRING().</doc>
  1890. <return-value transfer-ownership="none">
  1891. <type name="none" c:type="void"/>
  1892. </return-value>
  1893. <parameters>
  1894. <parameter name="closure" transfer-ownership="none">
  1895. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  1896. <type name="Closure" c:type="GClosure*"/>
  1897. </parameter>
  1898. <parameter name="return_value"
  1899. transfer-ownership="none"
  1900. nullable="1"
  1901. allow-none="1">
  1902. <doc xml:space="preserve">a #GValue to store the return
  1903. value. May be %NULL if the callback of @closure doesn't return a
  1904. value.</doc>
  1905. <type name="Value" c:type="GValue*"/>
  1906. </parameter>
  1907. <parameter name="instance" transfer-ownership="none">
  1908. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  1909. <type name="TypeInstance" c:type="gpointer"/>
  1910. </parameter>
  1911. <parameter name="args" transfer-ownership="none">
  1912. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  1913. <type name="va_list" c:type="va_list"/>
  1914. </parameter>
  1915. <parameter name="marshal_data"
  1916. transfer-ownership="none"
  1917. nullable="1"
  1918. allow-none="1">
  1919. <doc xml:space="preserve">additional data specified when
  1920. registering the marshaller, see g_closure_set_marshal() and
  1921. g_closure_set_meta_marshal()</doc>
  1922. <type name="gpointer" c:type="gpointer"/>
  1923. </parameter>
  1924. <parameter name="n_params" transfer-ownership="none">
  1925. <doc xml:space="preserve">the length of the @param_types array</doc>
  1926. <type name="gint" c:type="int"/>
  1927. </parameter>
  1928. <parameter name="param_types" transfer-ownership="none">
  1929. <doc xml:space="preserve">the #GType of each argument from
  1930. @args.</doc>
  1931. <array length="5" zero-terminated="0" c:type="GType*">
  1932. <type name="GType" c:type="GType"/>
  1933. </array>
  1934. </parameter>
  1935. </parameters>
  1936. </function>
  1937. <function name="marshal_VOID__UCHAR"
  1938. c:identifier="g_cclosure_marshal_VOID__UCHAR">
  1939. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  1940. unsigned character argument.</doc>
  1941. <return-value transfer-ownership="none">
  1942. <type name="none" c:type="void"/>
  1943. </return-value>
  1944. <parameters>
  1945. <parameter name="closure" transfer-ownership="none">
  1946. <doc xml:space="preserve">A #GClosure.</doc>
  1947. <type name="Closure" c:type="GClosure*"/>
  1948. </parameter>
  1949. <parameter name="return_value" transfer-ownership="none">
  1950. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  1951. if the callback of closure doesn't return a value.</doc>
  1952. <type name="Value" c:type="GValue*"/>
  1953. </parameter>
  1954. <parameter name="n_param_values" transfer-ownership="none">
  1955. <doc xml:space="preserve">The length of the @param_values array.</doc>
  1956. <type name="guint" c:type="guint"/>
  1957. </parameter>
  1958. <parameter name="param_values" transfer-ownership="none">
  1959. <doc xml:space="preserve">An array of #GValues holding the arguments
  1960. on which to invoke the callback of closure.</doc>
  1961. <type name="Value" c:type="const GValue*"/>
  1962. </parameter>
  1963. <parameter name="invocation_hint"
  1964. transfer-ownership="none"
  1965. nullable="1"
  1966. allow-none="1">
  1967. <doc xml:space="preserve">The invocation hint given as the last argument to
  1968. g_closure_invoke().</doc>
  1969. <type name="gpointer" c:type="gpointer"/>
  1970. </parameter>
  1971. <parameter name="marshal_data"
  1972. transfer-ownership="none"
  1973. nullable="1"
  1974. allow-none="1">
  1975. <doc xml:space="preserve">Additional data specified when registering the
  1976. marshaller, see g_closure_set_marshal() and
  1977. g_closure_set_meta_marshal()</doc>
  1978. <type name="gpointer" c:type="gpointer"/>
  1979. </parameter>
  1980. </parameters>
  1981. </function>
  1982. <function name="marshal_VOID__UCHARv"
  1983. c:identifier="g_cclosure_marshal_VOID__UCHARv"
  1984. introspectable="0">
  1985. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UCHAR().</doc>
  1986. <return-value transfer-ownership="none">
  1987. <type name="none" c:type="void"/>
  1988. </return-value>
  1989. <parameters>
  1990. <parameter name="closure" transfer-ownership="none">
  1991. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  1992. <type name="Closure" c:type="GClosure*"/>
  1993. </parameter>
  1994. <parameter name="return_value"
  1995. transfer-ownership="none"
  1996. nullable="1"
  1997. allow-none="1">
  1998. <doc xml:space="preserve">a #GValue to store the return
  1999. value. May be %NULL if the callback of @closure doesn't return a
  2000. value.</doc>
  2001. <type name="Value" c:type="GValue*"/>
  2002. </parameter>
  2003. <parameter name="instance" transfer-ownership="none">
  2004. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  2005. <type name="TypeInstance" c:type="gpointer"/>
  2006. </parameter>
  2007. <parameter name="args" transfer-ownership="none">
  2008. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  2009. <type name="va_list" c:type="va_list"/>
  2010. </parameter>
  2011. <parameter name="marshal_data"
  2012. transfer-ownership="none"
  2013. nullable="1"
  2014. allow-none="1">
  2015. <doc xml:space="preserve">additional data specified when
  2016. registering the marshaller, see g_closure_set_marshal() and
  2017. g_closure_set_meta_marshal()</doc>
  2018. <type name="gpointer" c:type="gpointer"/>
  2019. </parameter>
  2020. <parameter name="n_params" transfer-ownership="none">
  2021. <doc xml:space="preserve">the length of the @param_types array</doc>
  2022. <type name="gint" c:type="int"/>
  2023. </parameter>
  2024. <parameter name="param_types" transfer-ownership="none">
  2025. <doc xml:space="preserve">the #GType of each argument from
  2026. @args.</doc>
  2027. <array length="5" zero-terminated="0" c:type="GType*">
  2028. <type name="GType" c:type="GType"/>
  2029. </array>
  2030. </parameter>
  2031. </parameters>
  2032. </function>
  2033. <function name="marshal_VOID__UINT"
  2034. c:identifier="g_cclosure_marshal_VOID__UINT">
  2035. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with with a single
  2036. unsigned integer argument.</doc>
  2037. <return-value transfer-ownership="none">
  2038. <type name="none" c:type="void"/>
  2039. </return-value>
  2040. <parameters>
  2041. <parameter name="closure" transfer-ownership="none">
  2042. <doc xml:space="preserve">A #GClosure.</doc>
  2043. <type name="Closure" c:type="GClosure*"/>
  2044. </parameter>
  2045. <parameter name="return_value" transfer-ownership="none">
  2046. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  2047. if the callback of closure doesn't return a value.</doc>
  2048. <type name="Value" c:type="GValue*"/>
  2049. </parameter>
  2050. <parameter name="n_param_values" transfer-ownership="none">
  2051. <doc xml:space="preserve">The length of the @param_values array.</doc>
  2052. <type name="guint" c:type="guint"/>
  2053. </parameter>
  2054. <parameter name="param_values" transfer-ownership="none">
  2055. <doc xml:space="preserve">An array of #GValues holding the arguments
  2056. on which to invoke the callback of closure.</doc>
  2057. <type name="Value" c:type="const GValue*"/>
  2058. </parameter>
  2059. <parameter name="invocation_hint"
  2060. transfer-ownership="none"
  2061. nullable="1"
  2062. allow-none="1">
  2063. <doc xml:space="preserve">The invocation hint given as the last argument to
  2064. g_closure_invoke().</doc>
  2065. <type name="gpointer" c:type="gpointer"/>
  2066. </parameter>
  2067. <parameter name="marshal_data"
  2068. transfer-ownership="none"
  2069. nullable="1"
  2070. allow-none="1">
  2071. <doc xml:space="preserve">Additional data specified when registering the
  2072. marshaller, see g_closure_set_marshal() and
  2073. g_closure_set_meta_marshal()</doc>
  2074. <type name="gpointer" c:type="gpointer"/>
  2075. </parameter>
  2076. </parameters>
  2077. </function>
  2078. <function name="marshal_VOID__UINT_POINTER"
  2079. c:identifier="g_cclosure_marshal_VOID__UINT_POINTER">
  2080. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a unsigned int
  2081. and a pointer as arguments.</doc>
  2082. <return-value transfer-ownership="none">
  2083. <type name="none" c:type="void"/>
  2084. </return-value>
  2085. <parameters>
  2086. <parameter name="closure" transfer-ownership="none">
  2087. <doc xml:space="preserve">A #GClosure.</doc>
  2088. <type name="Closure" c:type="GClosure*"/>
  2089. </parameter>
  2090. <parameter name="return_value" transfer-ownership="none">
  2091. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  2092. if the callback of closure doesn't return a value.</doc>
  2093. <type name="Value" c:type="GValue*"/>
  2094. </parameter>
  2095. <parameter name="n_param_values" transfer-ownership="none">
  2096. <doc xml:space="preserve">The length of the @param_values array.</doc>
  2097. <type name="guint" c:type="guint"/>
  2098. </parameter>
  2099. <parameter name="param_values" transfer-ownership="none">
  2100. <doc xml:space="preserve">An array of #GValues holding the arguments
  2101. on which to invoke the callback of closure.</doc>
  2102. <type name="Value" c:type="const GValue*"/>
  2103. </parameter>
  2104. <parameter name="invocation_hint"
  2105. transfer-ownership="none"
  2106. nullable="1"
  2107. allow-none="1">
  2108. <doc xml:space="preserve">The invocation hint given as the last argument to
  2109. g_closure_invoke().</doc>
  2110. <type name="gpointer" c:type="gpointer"/>
  2111. </parameter>
  2112. <parameter name="marshal_data"
  2113. transfer-ownership="none"
  2114. nullable="1"
  2115. allow-none="1">
  2116. <doc xml:space="preserve">Additional data specified when registering the
  2117. marshaller, see g_closure_set_marshal() and
  2118. g_closure_set_meta_marshal()</doc>
  2119. <type name="gpointer" c:type="gpointer"/>
  2120. </parameter>
  2121. </parameters>
  2122. </function>
  2123. <function name="marshal_VOID__UINT_POINTERv"
  2124. c:identifier="g_cclosure_marshal_VOID__UINT_POINTERv"
  2125. introspectable="0">
  2126. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UINT_POINTER().</doc>
  2127. <return-value transfer-ownership="none">
  2128. <type name="none" c:type="void"/>
  2129. </return-value>
  2130. <parameters>
  2131. <parameter name="closure" transfer-ownership="none">
  2132. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  2133. <type name="Closure" c:type="GClosure*"/>
  2134. </parameter>
  2135. <parameter name="return_value"
  2136. transfer-ownership="none"
  2137. nullable="1"
  2138. allow-none="1">
  2139. <doc xml:space="preserve">a #GValue to store the return
  2140. value. May be %NULL if the callback of @closure doesn't return a
  2141. value.</doc>
  2142. <type name="Value" c:type="GValue*"/>
  2143. </parameter>
  2144. <parameter name="instance" transfer-ownership="none">
  2145. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  2146. <type name="TypeInstance" c:type="gpointer"/>
  2147. </parameter>
  2148. <parameter name="args" transfer-ownership="none">
  2149. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  2150. <type name="va_list" c:type="va_list"/>
  2151. </parameter>
  2152. <parameter name="marshal_data"
  2153. transfer-ownership="none"
  2154. nullable="1"
  2155. allow-none="1">
  2156. <doc xml:space="preserve">additional data specified when
  2157. registering the marshaller, see g_closure_set_marshal() and
  2158. g_closure_set_meta_marshal()</doc>
  2159. <type name="gpointer" c:type="gpointer"/>
  2160. </parameter>
  2161. <parameter name="n_params" transfer-ownership="none">
  2162. <doc xml:space="preserve">the length of the @param_types array</doc>
  2163. <type name="gint" c:type="int"/>
  2164. </parameter>
  2165. <parameter name="param_types" transfer-ownership="none">
  2166. <doc xml:space="preserve">the #GType of each argument from
  2167. @args.</doc>
  2168. <array length="5" zero-terminated="0" c:type="GType*">
  2169. <type name="GType" c:type="GType"/>
  2170. </array>
  2171. </parameter>
  2172. </parameters>
  2173. </function>
  2174. <function name="marshal_VOID__UINTv"
  2175. c:identifier="g_cclosure_marshal_VOID__UINTv"
  2176. introspectable="0">
  2177. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UINT().</doc>
  2178. <return-value transfer-ownership="none">
  2179. <type name="none" c:type="void"/>
  2180. </return-value>
  2181. <parameters>
  2182. <parameter name="closure" transfer-ownership="none">
  2183. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  2184. <type name="Closure" c:type="GClosure*"/>
  2185. </parameter>
  2186. <parameter name="return_value"
  2187. transfer-ownership="none"
  2188. nullable="1"
  2189. allow-none="1">
  2190. <doc xml:space="preserve">a #GValue to store the return
  2191. value. May be %NULL if the callback of @closure doesn't return a
  2192. value.</doc>
  2193. <type name="Value" c:type="GValue*"/>
  2194. </parameter>
  2195. <parameter name="instance" transfer-ownership="none">
  2196. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  2197. <type name="TypeInstance" c:type="gpointer"/>
  2198. </parameter>
  2199. <parameter name="args" transfer-ownership="none">
  2200. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  2201. <type name="va_list" c:type="va_list"/>
  2202. </parameter>
  2203. <parameter name="marshal_data"
  2204. transfer-ownership="none"
  2205. nullable="1"
  2206. allow-none="1">
  2207. <doc xml:space="preserve">additional data specified when
  2208. registering the marshaller, see g_closure_set_marshal() and
  2209. g_closure_set_meta_marshal()</doc>
  2210. <type name="gpointer" c:type="gpointer"/>
  2211. </parameter>
  2212. <parameter name="n_params" transfer-ownership="none">
  2213. <doc xml:space="preserve">the length of the @param_types array</doc>
  2214. <type name="gint" c:type="int"/>
  2215. </parameter>
  2216. <parameter name="param_types" transfer-ownership="none">
  2217. <doc xml:space="preserve">the #GType of each argument from
  2218. @args.</doc>
  2219. <array length="5" zero-terminated="0" c:type="GType*">
  2220. <type name="GType" c:type="GType"/>
  2221. </array>
  2222. </parameter>
  2223. </parameters>
  2224. </function>
  2225. <function name="marshal_VOID__ULONG"
  2226. c:identifier="g_cclosure_marshal_VOID__ULONG">
  2227. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  2228. unsigned long integer argument.</doc>
  2229. <return-value transfer-ownership="none">
  2230. <type name="none" c:type="void"/>
  2231. </return-value>
  2232. <parameters>
  2233. <parameter name="closure" transfer-ownership="none">
  2234. <doc xml:space="preserve">A #GClosure.</doc>
  2235. <type name="Closure" c:type="GClosure*"/>
  2236. </parameter>
  2237. <parameter name="return_value" transfer-ownership="none">
  2238. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  2239. if the callback of closure doesn't return a value.</doc>
  2240. <type name="Value" c:type="GValue*"/>
  2241. </parameter>
  2242. <parameter name="n_param_values" transfer-ownership="none">
  2243. <doc xml:space="preserve">The length of the @param_values array.</doc>
  2244. <type name="guint" c:type="guint"/>
  2245. </parameter>
  2246. <parameter name="param_values" transfer-ownership="none">
  2247. <doc xml:space="preserve">An array of #GValues holding the arguments
  2248. on which to invoke the callback of closure.</doc>
  2249. <type name="Value" c:type="const GValue*"/>
  2250. </parameter>
  2251. <parameter name="invocation_hint"
  2252. transfer-ownership="none"
  2253. nullable="1"
  2254. allow-none="1">
  2255. <doc xml:space="preserve">The invocation hint given as the last argument to
  2256. g_closure_invoke().</doc>
  2257. <type name="gpointer" c:type="gpointer"/>
  2258. </parameter>
  2259. <parameter name="marshal_data"
  2260. transfer-ownership="none"
  2261. nullable="1"
  2262. allow-none="1">
  2263. <doc xml:space="preserve">Additional data specified when registering the
  2264. marshaller, see g_closure_set_marshal() and
  2265. g_closure_set_meta_marshal()</doc>
  2266. <type name="gpointer" c:type="gpointer"/>
  2267. </parameter>
  2268. </parameters>
  2269. </function>
  2270. <function name="marshal_VOID__ULONGv"
  2271. c:identifier="g_cclosure_marshal_VOID__ULONGv"
  2272. introspectable="0">
  2273. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__ULONG().</doc>
  2274. <return-value transfer-ownership="none">
  2275. <type name="none" c:type="void"/>
  2276. </return-value>
  2277. <parameters>
  2278. <parameter name="closure" transfer-ownership="none">
  2279. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  2280. <type name="Closure" c:type="GClosure*"/>
  2281. </parameter>
  2282. <parameter name="return_value"
  2283. transfer-ownership="none"
  2284. nullable="1"
  2285. allow-none="1">
  2286. <doc xml:space="preserve">a #GValue to store the return
  2287. value. May be %NULL if the callback of @closure doesn't return a
  2288. value.</doc>
  2289. <type name="Value" c:type="GValue*"/>
  2290. </parameter>
  2291. <parameter name="instance" transfer-ownership="none">
  2292. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  2293. <type name="TypeInstance" c:type="gpointer"/>
  2294. </parameter>
  2295. <parameter name="args" transfer-ownership="none">
  2296. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  2297. <type name="va_list" c:type="va_list"/>
  2298. </parameter>
  2299. <parameter name="marshal_data"
  2300. transfer-ownership="none"
  2301. nullable="1"
  2302. allow-none="1">
  2303. <doc xml:space="preserve">additional data specified when
  2304. registering the marshaller, see g_closure_set_marshal() and
  2305. g_closure_set_meta_marshal()</doc>
  2306. <type name="gpointer" c:type="gpointer"/>
  2307. </parameter>
  2308. <parameter name="n_params" transfer-ownership="none">
  2309. <doc xml:space="preserve">the length of the @param_types array</doc>
  2310. <type name="gint" c:type="int"/>
  2311. </parameter>
  2312. <parameter name="param_types" transfer-ownership="none">
  2313. <doc xml:space="preserve">the #GType of each argument from
  2314. @args.</doc>
  2315. <array length="5" zero-terminated="0" c:type="GType*">
  2316. <type name="GType" c:type="GType"/>
  2317. </array>
  2318. </parameter>
  2319. </parameters>
  2320. </function>
  2321. <function name="marshal_VOID__VARIANT"
  2322. c:identifier="g_cclosure_marshal_VOID__VARIANT">
  2323. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  2324. #GVariant argument.</doc>
  2325. <return-value transfer-ownership="none">
  2326. <type name="none" c:type="void"/>
  2327. </return-value>
  2328. <parameters>
  2329. <parameter name="closure" transfer-ownership="none">
  2330. <doc xml:space="preserve">A #GClosure.</doc>
  2331. <type name="Closure" c:type="GClosure*"/>
  2332. </parameter>
  2333. <parameter name="return_value" transfer-ownership="none">
  2334. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  2335. if the callback of closure doesn't return a value.</doc>
  2336. <type name="Value" c:type="GValue*"/>
  2337. </parameter>
  2338. <parameter name="n_param_values" transfer-ownership="none">
  2339. <doc xml:space="preserve">The length of the @param_values array.</doc>
  2340. <type name="guint" c:type="guint"/>
  2341. </parameter>
  2342. <parameter name="param_values" transfer-ownership="none">
  2343. <doc xml:space="preserve">An array of #GValues holding the arguments
  2344. on which to invoke the callback of closure.</doc>
  2345. <type name="Value" c:type="const GValue*"/>
  2346. </parameter>
  2347. <parameter name="invocation_hint"
  2348. transfer-ownership="none"
  2349. nullable="1"
  2350. allow-none="1">
  2351. <doc xml:space="preserve">The invocation hint given as the last argument to
  2352. g_closure_invoke().</doc>
  2353. <type name="gpointer" c:type="gpointer"/>
  2354. </parameter>
  2355. <parameter name="marshal_data"
  2356. transfer-ownership="none"
  2357. nullable="1"
  2358. allow-none="1">
  2359. <doc xml:space="preserve">Additional data specified when registering the
  2360. marshaller, see g_closure_set_marshal() and
  2361. g_closure_set_meta_marshal()</doc>
  2362. <type name="gpointer" c:type="gpointer"/>
  2363. </parameter>
  2364. </parameters>
  2365. </function>
  2366. <function name="marshal_VOID__VARIANTv"
  2367. c:identifier="g_cclosure_marshal_VOID__VARIANTv"
  2368. introspectable="0">
  2369. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__VARIANT().</doc>
  2370. <return-value transfer-ownership="none">
  2371. <type name="none" c:type="void"/>
  2372. </return-value>
  2373. <parameters>
  2374. <parameter name="closure" transfer-ownership="none">
  2375. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  2376. <type name="Closure" c:type="GClosure*"/>
  2377. </parameter>
  2378. <parameter name="return_value"
  2379. transfer-ownership="none"
  2380. nullable="1"
  2381. allow-none="1">
  2382. <doc xml:space="preserve">a #GValue to store the return
  2383. value. May be %NULL if the callback of @closure doesn't return a
  2384. value.</doc>
  2385. <type name="Value" c:type="GValue*"/>
  2386. </parameter>
  2387. <parameter name="instance" transfer-ownership="none">
  2388. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  2389. <type name="TypeInstance" c:type="gpointer"/>
  2390. </parameter>
  2391. <parameter name="args" transfer-ownership="none">
  2392. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  2393. <type name="va_list" c:type="va_list"/>
  2394. </parameter>
  2395. <parameter name="marshal_data"
  2396. transfer-ownership="none"
  2397. nullable="1"
  2398. allow-none="1">
  2399. <doc xml:space="preserve">additional data specified when
  2400. registering the marshaller, see g_closure_set_marshal() and
  2401. g_closure_set_meta_marshal()</doc>
  2402. <type name="gpointer" c:type="gpointer"/>
  2403. </parameter>
  2404. <parameter name="n_params" transfer-ownership="none">
  2405. <doc xml:space="preserve">the length of the @param_types array</doc>
  2406. <type name="gint" c:type="int"/>
  2407. </parameter>
  2408. <parameter name="param_types" transfer-ownership="none">
  2409. <doc xml:space="preserve">the #GType of each argument from
  2410. @args.</doc>
  2411. <array length="5" zero-terminated="0" c:type="GType*">
  2412. <type name="GType" c:type="GType"/>
  2413. </array>
  2414. </parameter>
  2415. </parameters>
  2416. </function>
  2417. <function name="marshal_VOID__VOID"
  2418. c:identifier="g_cclosure_marshal_VOID__VOID">
  2419. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with no arguments.</doc>
  2420. <return-value transfer-ownership="none">
  2421. <type name="none" c:type="void"/>
  2422. </return-value>
  2423. <parameters>
  2424. <parameter name="closure" transfer-ownership="none">
  2425. <doc xml:space="preserve">A #GClosure.</doc>
  2426. <type name="Closure" c:type="GClosure*"/>
  2427. </parameter>
  2428. <parameter name="return_value" transfer-ownership="none">
  2429. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  2430. if the callback of closure doesn't return a value.</doc>
  2431. <type name="Value" c:type="GValue*"/>
  2432. </parameter>
  2433. <parameter name="n_param_values" transfer-ownership="none">
  2434. <doc xml:space="preserve">The length of the @param_values array.</doc>
  2435. <type name="guint" c:type="guint"/>
  2436. </parameter>
  2437. <parameter name="param_values" transfer-ownership="none">
  2438. <doc xml:space="preserve">An array of #GValues holding the arguments
  2439. on which to invoke the callback of closure.</doc>
  2440. <type name="Value" c:type="const GValue*"/>
  2441. </parameter>
  2442. <parameter name="invocation_hint"
  2443. transfer-ownership="none"
  2444. nullable="1"
  2445. allow-none="1">
  2446. <doc xml:space="preserve">The invocation hint given as the last argument to
  2447. g_closure_invoke().</doc>
  2448. <type name="gpointer" c:type="gpointer"/>
  2449. </parameter>
  2450. <parameter name="marshal_data"
  2451. transfer-ownership="none"
  2452. nullable="1"
  2453. allow-none="1">
  2454. <doc xml:space="preserve">Additional data specified when registering the
  2455. marshaller, see g_closure_set_marshal() and
  2456. g_closure_set_meta_marshal()</doc>
  2457. <type name="gpointer" c:type="gpointer"/>
  2458. </parameter>
  2459. </parameters>
  2460. </function>
  2461. <function name="marshal_VOID__VOIDv"
  2462. c:identifier="g_cclosure_marshal_VOID__VOIDv"
  2463. introspectable="0">
  2464. <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__VOID().</doc>
  2465. <return-value transfer-ownership="none">
  2466. <type name="none" c:type="void"/>
  2467. </return-value>
  2468. <parameters>
  2469. <parameter name="closure" transfer-ownership="none">
  2470. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  2471. <type name="Closure" c:type="GClosure*"/>
  2472. </parameter>
  2473. <parameter name="return_value"
  2474. transfer-ownership="none"
  2475. nullable="1"
  2476. allow-none="1">
  2477. <doc xml:space="preserve">a #GValue to store the return
  2478. value. May be %NULL if the callback of @closure doesn't return a
  2479. value.</doc>
  2480. <type name="Value" c:type="GValue*"/>
  2481. </parameter>
  2482. <parameter name="instance" transfer-ownership="none">
  2483. <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
  2484. <type name="TypeInstance" c:type="gpointer"/>
  2485. </parameter>
  2486. <parameter name="args" transfer-ownership="none">
  2487. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  2488. <type name="va_list" c:type="va_list"/>
  2489. </parameter>
  2490. <parameter name="marshal_data"
  2491. transfer-ownership="none"
  2492. nullable="1"
  2493. allow-none="1">
  2494. <doc xml:space="preserve">additional data specified when
  2495. registering the marshaller, see g_closure_set_marshal() and
  2496. g_closure_set_meta_marshal()</doc>
  2497. <type name="gpointer" c:type="gpointer"/>
  2498. </parameter>
  2499. <parameter name="n_params" transfer-ownership="none">
  2500. <doc xml:space="preserve">the length of the @param_types array</doc>
  2501. <type name="gint" c:type="int"/>
  2502. </parameter>
  2503. <parameter name="param_types" transfer-ownership="none">
  2504. <doc xml:space="preserve">the #GType of each argument from
  2505. @args.</doc>
  2506. <array length="5" zero-terminated="0" c:type="GType*">
  2507. <type name="GType" c:type="GType"/>
  2508. </array>
  2509. </parameter>
  2510. </parameters>
  2511. </function>
  2512. <function name="marshal_generic"
  2513. c:identifier="g_cclosure_marshal_generic"
  2514. version="2.30">
  2515. <doc xml:space="preserve">A generic marshaller function implemented via
  2516. [libffi](http://sourceware.org/libffi/).
  2517. Normally this function is not passed explicitly to g_signal_new(),
  2518. but used automatically by GLib when specifying a %NULL marshaller.</doc>
  2519. <return-value transfer-ownership="none">
  2520. <type name="none" c:type="void"/>
  2521. </return-value>
  2522. <parameters>
  2523. <parameter name="closure" transfer-ownership="none">
  2524. <doc xml:space="preserve">A #GClosure.</doc>
  2525. <type name="Closure" c:type="GClosure*"/>
  2526. </parameter>
  2527. <parameter name="return_gvalue" transfer-ownership="none">
  2528. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  2529. if the callback of closure doesn't return a value.</doc>
  2530. <type name="Value" c:type="GValue*"/>
  2531. </parameter>
  2532. <parameter name="n_param_values" transfer-ownership="none">
  2533. <doc xml:space="preserve">The length of the @param_values array.</doc>
  2534. <type name="guint" c:type="guint"/>
  2535. </parameter>
  2536. <parameter name="param_values" transfer-ownership="none">
  2537. <doc xml:space="preserve">An array of #GValues holding the arguments
  2538. on which to invoke the callback of closure.</doc>
  2539. <type name="Value" c:type="const GValue*"/>
  2540. </parameter>
  2541. <parameter name="invocation_hint"
  2542. transfer-ownership="none"
  2543. nullable="1"
  2544. allow-none="1">
  2545. <doc xml:space="preserve">The invocation hint given as the last argument to
  2546. g_closure_invoke().</doc>
  2547. <type name="gpointer" c:type="gpointer"/>
  2548. </parameter>
  2549. <parameter name="marshal_data"
  2550. transfer-ownership="none"
  2551. nullable="1"
  2552. allow-none="1">
  2553. <doc xml:space="preserve">Additional data specified when registering the
  2554. marshaller, see g_closure_set_marshal() and
  2555. g_closure_set_meta_marshal()</doc>
  2556. <type name="gpointer" c:type="gpointer"/>
  2557. </parameter>
  2558. </parameters>
  2559. </function>
  2560. <function name="marshal_generic_va"
  2561. c:identifier="g_cclosure_marshal_generic_va"
  2562. version="2.30"
  2563. introspectable="0">
  2564. <doc xml:space="preserve">A generic #GVaClosureMarshal function implemented via
  2565. [libffi](http://sourceware.org/libffi/).</doc>
  2566. <return-value transfer-ownership="none">
  2567. <type name="none" c:type="void"/>
  2568. </return-value>
  2569. <parameters>
  2570. <parameter name="closure" transfer-ownership="none">
  2571. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  2572. <type name="Closure" c:type="GClosure*"/>
  2573. </parameter>
  2574. <parameter name="return_value"
  2575. transfer-ownership="none"
  2576. nullable="1"
  2577. allow-none="1">
  2578. <doc xml:space="preserve">a #GValue to store the return
  2579. value. May be %NULL if the callback of @closure doesn't return a
  2580. value.</doc>
  2581. <type name="Value" c:type="GValue*"/>
  2582. </parameter>
  2583. <parameter name="instance" transfer-ownership="none">
  2584. <doc xml:space="preserve">the instance on which the closure is
  2585. invoked.</doc>
  2586. <type name="TypeInstance" c:type="gpointer"/>
  2587. </parameter>
  2588. <parameter name="args_list" transfer-ownership="none">
  2589. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  2590. <type name="va_list" c:type="va_list"/>
  2591. </parameter>
  2592. <parameter name="marshal_data"
  2593. transfer-ownership="none"
  2594. nullable="1"
  2595. allow-none="1">
  2596. <doc xml:space="preserve">additional data specified when
  2597. registering the marshaller, see g_closure_set_marshal() and
  2598. g_closure_set_meta_marshal()</doc>
  2599. <type name="gpointer" c:type="gpointer"/>
  2600. </parameter>
  2601. <parameter name="n_params" transfer-ownership="none">
  2602. <doc xml:space="preserve">the length of the @param_types array</doc>
  2603. <type name="gint" c:type="int"/>
  2604. </parameter>
  2605. <parameter name="param_types" transfer-ownership="none">
  2606. <doc xml:space="preserve">the #GType of each argument from
  2607. @args_list.</doc>
  2608. <array length="5" zero-terminated="0" c:type="GType*">
  2609. <type name="GType" c:type="GType"/>
  2610. </array>
  2611. </parameter>
  2612. </parameters>
  2613. </function>
  2614. <function name="new" c:identifier="g_cclosure_new" introspectable="0">
  2615. <doc xml:space="preserve">Creates a new closure which invokes @callback_func with @user_data as
  2616. the last parameter.</doc>
  2617. <return-value transfer-ownership="full">
  2618. <doc xml:space="preserve">a new #GCClosure</doc>
  2619. <type name="Closure" c:type="GClosure*"/>
  2620. </return-value>
  2621. <parameters>
  2622. <parameter name="callback_func"
  2623. transfer-ownership="none"
  2624. nullable="1"
  2625. allow-none="1"
  2626. closure="1">
  2627. <doc xml:space="preserve">the function to invoke</doc>
  2628. <type name="Callback" c:type="GCallback"/>
  2629. </parameter>
  2630. <parameter name="user_data"
  2631. transfer-ownership="none"
  2632. nullable="1"
  2633. allow-none="1"
  2634. closure="0">
  2635. <doc xml:space="preserve">user data to pass to @callback_func</doc>
  2636. <type name="gpointer" c:type="gpointer"/>
  2637. </parameter>
  2638. <parameter name="destroy_data" transfer-ownership="none">
  2639. <doc xml:space="preserve">destroy notify to be called when @user_data is no longer used</doc>
  2640. <type name="ClosureNotify" c:type="GClosureNotify"/>
  2641. </parameter>
  2642. </parameters>
  2643. </function>
  2644. <function name="new_object"
  2645. c:identifier="g_cclosure_new_object"
  2646. introspectable="0">
  2647. <doc xml:space="preserve">A variant of g_cclosure_new() which uses @object as @user_data and
  2648. calls g_object_watch_closure() on @object and the created
  2649. closure. This function is useful when you have a callback closely
  2650. associated with a #GObject, and want the callback to no longer run
  2651. after the object is is freed.</doc>
  2652. <return-value transfer-ownership="full">
  2653. <doc xml:space="preserve">a new #GCClosure</doc>
  2654. <type name="Closure" c:type="GClosure*"/>
  2655. </return-value>
  2656. <parameters>
  2657. <parameter name="callback_func" transfer-ownership="none">
  2658. <doc xml:space="preserve">the function to invoke</doc>
  2659. <type name="Callback" c:type="GCallback"/>
  2660. </parameter>
  2661. <parameter name="object" transfer-ownership="none">
  2662. <doc xml:space="preserve">a #GObject pointer to pass to @callback_func</doc>
  2663. <type name="Object" c:type="GObject*"/>
  2664. </parameter>
  2665. </parameters>
  2666. </function>
  2667. <function name="new_object_swap"
  2668. c:identifier="g_cclosure_new_object_swap"
  2669. introspectable="0">
  2670. <doc xml:space="preserve">A variant of g_cclosure_new_swap() which uses @object as @user_data
  2671. and calls g_object_watch_closure() on @object and the created
  2672. closure. This function is useful when you have a callback closely
  2673. associated with a #GObject, and want the callback to no longer run
  2674. after the object is is freed.</doc>
  2675. <return-value transfer-ownership="full">
  2676. <doc xml:space="preserve">a new #GCClosure</doc>
  2677. <type name="Closure" c:type="GClosure*"/>
  2678. </return-value>
  2679. <parameters>
  2680. <parameter name="callback_func" transfer-ownership="none">
  2681. <doc xml:space="preserve">the function to invoke</doc>
  2682. <type name="Callback" c:type="GCallback"/>
  2683. </parameter>
  2684. <parameter name="object" transfer-ownership="none">
  2685. <doc xml:space="preserve">a #GObject pointer to pass to @callback_func</doc>
  2686. <type name="Object" c:type="GObject*"/>
  2687. </parameter>
  2688. </parameters>
  2689. </function>
  2690. <function name="new_swap"
  2691. c:identifier="g_cclosure_new_swap"
  2692. introspectable="0">
  2693. <doc xml:space="preserve">Creates a new closure which invokes @callback_func with @user_data as
  2694. the first parameter.</doc>
  2695. <return-value transfer-ownership="full">
  2696. <doc xml:space="preserve">a new #GCClosure</doc>
  2697. <type name="Closure" c:type="GClosure*"/>
  2698. </return-value>
  2699. <parameters>
  2700. <parameter name="callback_func"
  2701. transfer-ownership="none"
  2702. nullable="1"
  2703. allow-none="1"
  2704. closure="1">
  2705. <doc xml:space="preserve">the function to invoke</doc>
  2706. <type name="Callback" c:type="GCallback"/>
  2707. </parameter>
  2708. <parameter name="user_data"
  2709. transfer-ownership="none"
  2710. nullable="1"
  2711. allow-none="1"
  2712. closure="0">
  2713. <doc xml:space="preserve">user data to pass to @callback_func</doc>
  2714. <type name="gpointer" c:type="gpointer"/>
  2715. </parameter>
  2716. <parameter name="destroy_data" transfer-ownership="none">
  2717. <doc xml:space="preserve">destroy notify to be called when @user_data is no longer used</doc>
  2718. <type name="ClosureNotify" c:type="GClosureNotify"/>
  2719. </parameter>
  2720. </parameters>
  2721. </function>
  2722. </record>
  2723. <callback name="Callback" c:type="GCallback">
  2724. <doc xml:space="preserve">The type used for callback functions in structure definitions and function
  2725. signatures. This doesn't mean that all callback functions must take no
  2726. parameters and return void. The required signature of a callback function
  2727. is determined by the context in which is used (e.g. the signal to which it
  2728. is connected). Use G_CALLBACK() to cast the callback function to a #GCallback.</doc>
  2729. <return-value transfer-ownership="none">
  2730. <type name="none" c:type="void"/>
  2731. </return-value>
  2732. </callback>
  2733. <callback name="ClassFinalizeFunc" c:type="GClassFinalizeFunc">
  2734. <doc xml:space="preserve">A callback function used by the type system to finalize a class.
  2735. This function is rarely needed, as dynamically allocated class resources
  2736. should be handled by GBaseInitFunc() and GBaseFinalizeFunc().
  2737. Also, specification of a GClassFinalizeFunc() in the #GTypeInfo
  2738. structure of a static type is invalid, because classes of static types
  2739. will never be finalized (they are artificially kept alive when their
  2740. reference count drops to zero).</doc>
  2741. <return-value transfer-ownership="none">
  2742. <type name="none" c:type="void"/>
  2743. </return-value>
  2744. <parameters>
  2745. <parameter name="g_class" transfer-ownership="none">
  2746. <doc xml:space="preserve">The #GTypeClass structure to finalize</doc>
  2747. <type name="TypeClass" c:type="gpointer"/>
  2748. </parameter>
  2749. <parameter name="class_data"
  2750. transfer-ownership="none"
  2751. nullable="1"
  2752. allow-none="1">
  2753. <doc xml:space="preserve">The @class_data member supplied via the #GTypeInfo structure</doc>
  2754. <type name="gpointer" c:type="gpointer"/>
  2755. </parameter>
  2756. </parameters>
  2757. </callback>
  2758. <callback name="ClassInitFunc" c:type="GClassInitFunc">
  2759. <doc xml:space="preserve">A callback function used by the type system to initialize the class
  2760. of a specific type. This function should initialize all static class
  2761. members.
  2762. The initialization process of a class involves:
  2763. - Copying common members from the parent class over to the
  2764. derived class structure.
  2765. - Zero initialization of the remaining members not copied
  2766. over from the parent class.
  2767. - Invocation of the GBaseInitFunc() initializers of all parent
  2768. types and the class' type.
  2769. - Invocation of the class' GClassInitFunc() initializer.
  2770. Since derived classes are partially initialized through a memory copy
  2771. of the parent class, the general rule is that GBaseInitFunc() and
  2772. GBaseFinalizeFunc() should take care of necessary reinitialization
  2773. and release of those class members that were introduced by the type
  2774. that specified these GBaseInitFunc()/GBaseFinalizeFunc().
  2775. GClassInitFunc() should only care about initializing static
  2776. class members, while dynamic class members (such as allocated strings
  2777. or reference counted resources) are better handled by a GBaseInitFunc()
  2778. for this type, so proper initialization of the dynamic class members
  2779. is performed for class initialization of derived types as well.
  2780. An example may help to correspond the intend of the different class
  2781. initializers:
  2782. |[&lt;!-- language="C" --&gt;
  2783. typedef struct {
  2784. GObjectClass parent_class;
  2785. gint static_integer;
  2786. gchar *dynamic_string;
  2787. } TypeAClass;
  2788. static void
  2789. type_a_base_class_init (TypeAClass *class)
  2790. {
  2791. class-&gt;dynamic_string = g_strdup ("some string");
  2792. }
  2793. static void
  2794. type_a_base_class_finalize (TypeAClass *class)
  2795. {
  2796. g_free (class-&gt;dynamic_string);
  2797. }
  2798. static void
  2799. type_a_class_init (TypeAClass *class)
  2800. {
  2801. class-&gt;static_integer = 42;
  2802. }
  2803. typedef struct {
  2804. TypeAClass parent_class;
  2805. gfloat static_float;
  2806. GString *dynamic_gstring;
  2807. } TypeBClass;
  2808. static void
  2809. type_b_base_class_init (TypeBClass *class)
  2810. {
  2811. class-&gt;dynamic_gstring = g_string_new ("some other string");
  2812. }
  2813. static void
  2814. type_b_base_class_finalize (TypeBClass *class)
  2815. {
  2816. g_string_free (class-&gt;dynamic_gstring);
  2817. }
  2818. static void
  2819. type_b_class_init (TypeBClass *class)
  2820. {
  2821. class-&gt;static_float = 3.14159265358979323846;
  2822. }
  2823. ]|
  2824. Initialization of TypeBClass will first cause initialization of
  2825. TypeAClass (derived classes reference their parent classes, see
  2826. g_type_class_ref() on this).
  2827. Initialization of TypeAClass roughly involves zero-initializing its fields,
  2828. then calling its GBaseInitFunc() type_a_base_class_init() to allocate
  2829. its dynamic members (dynamic_string), and finally calling its GClassInitFunc()
  2830. type_a_class_init() to initialize its static members (static_integer).
  2831. The first step in the initialization process of TypeBClass is then
  2832. a plain memory copy of the contents of TypeAClass into TypeBClass and
  2833. zero-initialization of the remaining fields in TypeBClass.
  2834. The dynamic members of TypeAClass within TypeBClass now need
  2835. reinitialization which is performed by calling type_a_base_class_init()
  2836. with an argument of TypeBClass.
  2837. After that, the GBaseInitFunc() of TypeBClass, type_b_base_class_init()
  2838. is called to allocate the dynamic members of TypeBClass (dynamic_gstring),
  2839. and finally the GClassInitFunc() of TypeBClass, type_b_class_init(),
  2840. is called to complete the initialization process with the static members
  2841. (static_float).
  2842. Corresponding finalization counter parts to the GBaseInitFunc() functions
  2843. have to be provided to release allocated resources at class finalization
  2844. time.</doc>
  2845. <return-value transfer-ownership="none">
  2846. <type name="none" c:type="void"/>
  2847. </return-value>
  2848. <parameters>
  2849. <parameter name="g_class" transfer-ownership="none">
  2850. <doc xml:space="preserve">The #GTypeClass structure to initialize.</doc>
  2851. <type name="TypeClass" c:type="gpointer"/>
  2852. </parameter>
  2853. <parameter name="class_data"
  2854. transfer-ownership="none"
  2855. nullable="1"
  2856. allow-none="1">
  2857. <doc xml:space="preserve">The @class_data member supplied via the #GTypeInfo structure.</doc>
  2858. <type name="gpointer" c:type="gpointer"/>
  2859. </parameter>
  2860. </parameters>
  2861. </callback>
  2862. <record name="Closure"
  2863. c:type="GClosure"
  2864. glib:type-name="GClosure"
  2865. glib:get-type="g_closure_get_type"
  2866. c:symbol-prefix="closure">
  2867. <doc xml:space="preserve">A #GClosure represents a callback supplied by the programmer. It
  2868. will generally comprise a function of some kind and a marshaller
  2869. used to call it. It is the responsibility of the marshaller to
  2870. convert the arguments for the invocation from #GValues into
  2871. a suitable form, perform the callback on the converted arguments,
  2872. and transform the return value back into a #GValue.
  2873. In the case of C programs, a closure usually just holds a pointer
  2874. to a function and maybe a data argument, and the marshaller
  2875. converts between #GValue and native C types. The GObject
  2876. library provides the #GCClosure type for this purpose. Bindings for
  2877. other languages need marshallers which convert between #GValue&lt;!--
  2878. --&gt;s and suitable representations in the runtime of the language in
  2879. order to use functions written in that languages as callbacks.
  2880. Within GObject, closures play an important role in the
  2881. implementation of signals. When a signal is registered, the
  2882. @c_marshaller argument to g_signal_new() specifies the default C
  2883. marshaller for any closure which is connected to this
  2884. signal. GObject provides a number of C marshallers for this
  2885. purpose, see the g_cclosure_marshal_*() functions. Additional C
  2886. marshallers can be generated with the [glib-genmarshal][glib-genmarshal]
  2887. utility. Closures can be explicitly connected to signals with
  2888. g_signal_connect_closure(), but it usually more convenient to let
  2889. GObject create a closure automatically by using one of the
  2890. g_signal_connect_*() functions which take a callback function/user
  2891. data pair.
  2892. Using closures has a number of important advantages over a simple
  2893. callback function/data pointer combination:
  2894. - Closures allow the callee to get the types of the callback parameters,
  2895. which means that language bindings don't have to write individual glue
  2896. for each callback type.
  2897. - The reference counting of #GClosure makes it easy to handle reentrancy
  2898. right; if a callback is removed while it is being invoked, the closure
  2899. and its parameters won't be freed until the invocation finishes.
  2900. - g_closure_invalidate() and invalidation notifiers allow callbacks to be
  2901. automatically removed when the objects they point to go away.</doc>
  2902. <field name="ref_count" readable="0" bits="15" private="1">
  2903. <type name="guint" c:type="volatile guint"/>
  2904. </field>
  2905. <field name="meta_marshal_nouse" readable="0" bits="1" private="1">
  2906. <type name="guint" c:type="volatile guint"/>
  2907. </field>
  2908. <field name="n_guards" readable="0" bits="1" private="1">
  2909. <type name="guint" c:type="volatile guint"/>
  2910. </field>
  2911. <field name="n_fnotifiers" readable="0" bits="2" private="1">
  2912. <type name="guint" c:type="volatile guint"/>
  2913. </field>
  2914. <field name="n_inotifiers" readable="0" bits="8" private="1">
  2915. <type name="guint" c:type="volatile guint"/>
  2916. </field>
  2917. <field name="in_inotify" readable="0" bits="1" private="1">
  2918. <type name="guint" c:type="volatile guint"/>
  2919. </field>
  2920. <field name="floating" readable="0" bits="1" private="1">
  2921. <type name="guint" c:type="volatile guint"/>
  2922. </field>
  2923. <field name="derivative_flag" readable="0" bits="1" private="1">
  2924. <type name="guint" c:type="volatile guint"/>
  2925. </field>
  2926. <field name="in_marshal" writable="1" bits="1">
  2927. <doc xml:space="preserve">Indicates whether the closure is currently being invoked with
  2928. g_closure_invoke()</doc>
  2929. <type name="guint" c:type="volatile guint"/>
  2930. </field>
  2931. <field name="is_invalid" writable="1" bits="1">
  2932. <doc xml:space="preserve">Indicates whether the closure has been invalidated by
  2933. g_closure_invalidate()</doc>
  2934. <type name="guint" c:type="volatile guint"/>
  2935. </field>
  2936. <field name="marshal">
  2937. <callback name="marshal">
  2938. <return-value transfer-ownership="none">
  2939. <type name="none" c:type="void"/>
  2940. </return-value>
  2941. <parameters>
  2942. <parameter name="closure" transfer-ownership="none">
  2943. <type name="Closure" c:type="GClosure*"/>
  2944. </parameter>
  2945. <parameter name="return_value" transfer-ownership="none">
  2946. <type name="Value" c:type="GValue*"/>
  2947. </parameter>
  2948. <parameter name="n_param_values" transfer-ownership="none">
  2949. <type name="guint" c:type="guint"/>
  2950. </parameter>
  2951. <parameter name="param_values" transfer-ownership="none">
  2952. <type name="Value" c:type="const GValue*"/>
  2953. </parameter>
  2954. <parameter name="invocation_hint" transfer-ownership="none">
  2955. <type name="gpointer" c:type="gpointer"/>
  2956. </parameter>
  2957. <parameter name="marshal_data" transfer-ownership="none">
  2958. <type name="gpointer" c:type="gpointer"/>
  2959. </parameter>
  2960. </parameters>
  2961. </callback>
  2962. </field>
  2963. <field name="data" readable="0" private="1">
  2964. <type name="gpointer" c:type="gpointer"/>
  2965. </field>
  2966. <field name="notifiers" readable="0" private="1">
  2967. <type name="ClosureNotifyData" c:type="GClosureNotifyData*"/>
  2968. </field>
  2969. <constructor name="new_object" c:identifier="g_closure_new_object">
  2970. <doc xml:space="preserve">A variant of g_closure_new_simple() which stores @object in the
  2971. @data field of the closure and calls g_object_watch_closure() on
  2972. @object and the created closure. This function is mainly useful
  2973. when implementing new types of closures.</doc>
  2974. <return-value transfer-ownership="full">
  2975. <doc xml:space="preserve">a newly allocated #GClosure</doc>
  2976. <type name="Closure" c:type="GClosure*"/>
  2977. </return-value>
  2978. <parameters>
  2979. <parameter name="sizeof_closure" transfer-ownership="none">
  2980. <doc xml:space="preserve">the size of the structure to allocate, must be at least
  2981. `sizeof (GClosure)`</doc>
  2982. <type name="guint" c:type="guint"/>
  2983. </parameter>
  2984. <parameter name="object" transfer-ownership="none">
  2985. <doc xml:space="preserve">a #GObject pointer to store in the @data field of the newly
  2986. allocated #GClosure</doc>
  2987. <type name="Object" c:type="GObject*"/>
  2988. </parameter>
  2989. </parameters>
  2990. </constructor>
  2991. <constructor name="new_simple" c:identifier="g_closure_new_simple">
  2992. <doc xml:space="preserve">Allocates a struct of the given size and initializes the initial
  2993. part as a #GClosure. This function is mainly useful when
  2994. implementing new types of closures.
  2995. |[&lt;!-- language="C" --&gt;
  2996. typedef struct _MyClosure MyClosure;
  2997. struct _MyClosure
  2998. {
  2999. GClosure closure;
  3000. // extra data goes here
  3001. };
  3002. static void
  3003. my_closure_finalize (gpointer notify_data,
  3004. GClosure *closure)
  3005. {
  3006. MyClosure *my_closure = (MyClosure *)closure;
  3007. // free extra data here
  3008. }
  3009. MyClosure *my_closure_new (gpointer data)
  3010. {
  3011. GClosure *closure;
  3012. MyClosure *my_closure;
  3013. closure = g_closure_new_simple (sizeof (MyClosure), data);
  3014. my_closure = (MyClosure *) closure;
  3015. // initialize extra data here
  3016. g_closure_add_finalize_notifier (closure, notify_data,
  3017. my_closure_finalize);
  3018. return my_closure;
  3019. }
  3020. ]|</doc>
  3021. <return-value transfer-ownership="full">
  3022. <doc xml:space="preserve">a newly allocated #GClosure</doc>
  3023. <type name="Closure" c:type="GClosure*"/>
  3024. </return-value>
  3025. <parameters>
  3026. <parameter name="sizeof_closure" transfer-ownership="none">
  3027. <doc xml:space="preserve">the size of the structure to allocate, must be at least
  3028. `sizeof (GClosure)`</doc>
  3029. <type name="guint" c:type="guint"/>
  3030. </parameter>
  3031. <parameter name="data"
  3032. transfer-ownership="none"
  3033. nullable="1"
  3034. allow-none="1">
  3035. <doc xml:space="preserve">data to store in the @data field of the newly allocated #GClosure</doc>
  3036. <type name="gpointer" c:type="gpointer"/>
  3037. </parameter>
  3038. </parameters>
  3039. </constructor>
  3040. <method name="add_finalize_notifier"
  3041. c:identifier="g_closure_add_finalize_notifier"
  3042. introspectable="0">
  3043. <doc xml:space="preserve">Registers a finalization notifier which will be called when the
  3044. reference count of @closure goes down to 0. Multiple finalization
  3045. notifiers on a single closure are invoked in unspecified order. If
  3046. a single call to g_closure_unref() results in the closure being
  3047. both invalidated and finalized, then the invalidate notifiers will
  3048. be run before the finalize notifiers.</doc>
  3049. <return-value transfer-ownership="none">
  3050. <type name="none" c:type="void"/>
  3051. </return-value>
  3052. <parameters>
  3053. <instance-parameter name="closure" transfer-ownership="none">
  3054. <doc xml:space="preserve">a #GClosure</doc>
  3055. <type name="Closure" c:type="GClosure*"/>
  3056. </instance-parameter>
  3057. <parameter name="notify_data"
  3058. transfer-ownership="none"
  3059. nullable="1"
  3060. allow-none="1"
  3061. closure="1">
  3062. <doc xml:space="preserve">data to pass to @notify_func</doc>
  3063. <type name="gpointer" c:type="gpointer"/>
  3064. </parameter>
  3065. <parameter name="notify_func"
  3066. transfer-ownership="none"
  3067. nullable="1"
  3068. allow-none="1">
  3069. <doc xml:space="preserve">the callback function to register</doc>
  3070. <type name="ClosureNotify" c:type="GClosureNotify"/>
  3071. </parameter>
  3072. </parameters>
  3073. </method>
  3074. <method name="add_invalidate_notifier"
  3075. c:identifier="g_closure_add_invalidate_notifier"
  3076. introspectable="0">
  3077. <doc xml:space="preserve">Registers an invalidation notifier which will be called when the
  3078. @closure is invalidated with g_closure_invalidate(). Invalidation
  3079. notifiers are invoked before finalization notifiers, in an
  3080. unspecified order.</doc>
  3081. <return-value transfer-ownership="none">
  3082. <type name="none" c:type="void"/>
  3083. </return-value>
  3084. <parameters>
  3085. <instance-parameter name="closure" transfer-ownership="none">
  3086. <doc xml:space="preserve">a #GClosure</doc>
  3087. <type name="Closure" c:type="GClosure*"/>
  3088. </instance-parameter>
  3089. <parameter name="notify_data"
  3090. transfer-ownership="none"
  3091. nullable="1"
  3092. allow-none="1"
  3093. closure="1">
  3094. <doc xml:space="preserve">data to pass to @notify_func</doc>
  3095. <type name="gpointer" c:type="gpointer"/>
  3096. </parameter>
  3097. <parameter name="notify_func"
  3098. transfer-ownership="none"
  3099. nullable="1"
  3100. allow-none="1">
  3101. <doc xml:space="preserve">the callback function to register</doc>
  3102. <type name="ClosureNotify" c:type="GClosureNotify"/>
  3103. </parameter>
  3104. </parameters>
  3105. </method>
  3106. <method name="add_marshal_guards"
  3107. c:identifier="g_closure_add_marshal_guards"
  3108. introspectable="0">
  3109. <doc xml:space="preserve">Adds a pair of notifiers which get invoked before and after the
  3110. closure callback, respectively. This is typically used to protect
  3111. the extra arguments for the duration of the callback. See
  3112. g_object_watch_closure() for an example of marshal guards.</doc>
  3113. <return-value transfer-ownership="none">
  3114. <type name="none" c:type="void"/>
  3115. </return-value>
  3116. <parameters>
  3117. <instance-parameter name="closure" transfer-ownership="none">
  3118. <doc xml:space="preserve">a #GClosure</doc>
  3119. <type name="Closure" c:type="GClosure*"/>
  3120. </instance-parameter>
  3121. <parameter name="pre_marshal_data"
  3122. transfer-ownership="none"
  3123. nullable="1"
  3124. allow-none="1"
  3125. closure="1">
  3126. <doc xml:space="preserve">data to pass
  3127. to @pre_marshal_notify</doc>
  3128. <type name="gpointer" c:type="gpointer"/>
  3129. </parameter>
  3130. <parameter name="pre_marshal_notify"
  3131. transfer-ownership="none"
  3132. nullable="1"
  3133. allow-none="1"
  3134. closure="2">
  3135. <doc xml:space="preserve">a function to call before the closure callback</doc>
  3136. <type name="ClosureNotify" c:type="GClosureNotify"/>
  3137. </parameter>
  3138. <parameter name="post_marshal_data"
  3139. transfer-ownership="none"
  3140. nullable="1"
  3141. allow-none="1"
  3142. closure="3">
  3143. <doc xml:space="preserve">data to pass
  3144. to @post_marshal_notify</doc>
  3145. <type name="gpointer" c:type="gpointer"/>
  3146. </parameter>
  3147. <parameter name="post_marshal_notify"
  3148. transfer-ownership="none"
  3149. nullable="1"
  3150. allow-none="1">
  3151. <doc xml:space="preserve">a function to call after the closure callback</doc>
  3152. <type name="ClosureNotify" c:type="GClosureNotify"/>
  3153. </parameter>
  3154. </parameters>
  3155. </method>
  3156. <method name="invalidate" c:identifier="g_closure_invalidate">
  3157. <doc xml:space="preserve">Sets a flag on the closure to indicate that its calling
  3158. environment has become invalid, and thus causes any future
  3159. invocations of g_closure_invoke() on this @closure to be
  3160. ignored. Also, invalidation notifiers installed on the closure will
  3161. be called at this point. Note that unless you are holding a
  3162. reference to the closure yourself, the invalidation notifiers may
  3163. unref the closure and cause it to be destroyed, so if you need to
  3164. access the closure after calling g_closure_invalidate(), make sure
  3165. that you've previously called g_closure_ref().
  3166. Note that g_closure_invalidate() will also be called when the
  3167. reference count of a closure drops to zero (unless it has already
  3168. been invalidated before).</doc>
  3169. <return-value transfer-ownership="none">
  3170. <type name="none" c:type="void"/>
  3171. </return-value>
  3172. <parameters>
  3173. <instance-parameter name="closure" transfer-ownership="none">
  3174. <doc xml:space="preserve">GClosure to invalidate</doc>
  3175. <type name="Closure" c:type="GClosure*"/>
  3176. </instance-parameter>
  3177. </parameters>
  3178. </method>
  3179. <method name="invoke" c:identifier="g_closure_invoke">
  3180. <doc xml:space="preserve">Invokes the closure, i.e. executes the callback represented by the @closure.</doc>
  3181. <return-value transfer-ownership="none">
  3182. <type name="none" c:type="void"/>
  3183. </return-value>
  3184. <parameters>
  3185. <instance-parameter name="closure" transfer-ownership="none">
  3186. <doc xml:space="preserve">a #GClosure</doc>
  3187. <type name="Closure" c:type="GClosure*"/>
  3188. </instance-parameter>
  3189. <parameter name="return_value"
  3190. direction="out"
  3191. caller-allocates="1"
  3192. transfer-ownership="none"
  3193. optional="1"
  3194. allow-none="1">
  3195. <doc xml:space="preserve">a #GValue to store the return
  3196. value. May be %NULL if the callback of @closure
  3197. doesn't return a value.</doc>
  3198. <type name="Value" c:type="GValue*"/>
  3199. </parameter>
  3200. <parameter name="n_param_values" transfer-ownership="none">
  3201. <doc xml:space="preserve">the length of the @param_values array</doc>
  3202. <type name="guint" c:type="guint"/>
  3203. </parameter>
  3204. <parameter name="param_values" transfer-ownership="none">
  3205. <doc xml:space="preserve">an array of
  3206. #GValues holding the arguments on which to
  3207. invoke the callback of @closure</doc>
  3208. <array length="1" zero-terminated="0" c:type="GValue*">
  3209. <type name="Value" c:type="GValue"/>
  3210. </array>
  3211. </parameter>
  3212. <parameter name="invocation_hint"
  3213. transfer-ownership="none"
  3214. nullable="1"
  3215. allow-none="1">
  3216. <doc xml:space="preserve">a context-dependent invocation hint</doc>
  3217. <type name="gpointer" c:type="gpointer"/>
  3218. </parameter>
  3219. </parameters>
  3220. </method>
  3221. <method name="ref" c:identifier="g_closure_ref">
  3222. <doc xml:space="preserve">Increments the reference count on a closure to force it staying
  3223. alive while the caller holds a pointer to it.</doc>
  3224. <return-value transfer-ownership="none">
  3225. <doc xml:space="preserve">The @closure passed in, for convenience</doc>
  3226. <type name="Closure" c:type="GClosure*"/>
  3227. </return-value>
  3228. <parameters>
  3229. <instance-parameter name="closure" transfer-ownership="none">
  3230. <doc xml:space="preserve">#GClosure to increment the reference count on</doc>
  3231. <type name="Closure" c:type="GClosure*"/>
  3232. </instance-parameter>
  3233. </parameters>
  3234. </method>
  3235. <method name="remove_finalize_notifier"
  3236. c:identifier="g_closure_remove_finalize_notifier"
  3237. introspectable="0">
  3238. <doc xml:space="preserve">Removes a finalization notifier.
  3239. Notice that notifiers are automatically removed after they are run.</doc>
  3240. <return-value transfer-ownership="none">
  3241. <type name="none" c:type="void"/>
  3242. </return-value>
  3243. <parameters>
  3244. <instance-parameter name="closure" transfer-ownership="none">
  3245. <doc xml:space="preserve">a #GClosure</doc>
  3246. <type name="Closure" c:type="GClosure*"/>
  3247. </instance-parameter>
  3248. <parameter name="notify_data"
  3249. transfer-ownership="none"
  3250. nullable="1"
  3251. allow-none="1">
  3252. <doc xml:space="preserve">data which was passed to g_closure_add_finalize_notifier()
  3253. when registering @notify_func</doc>
  3254. <type name="gpointer" c:type="gpointer"/>
  3255. </parameter>
  3256. <parameter name="notify_func" transfer-ownership="none">
  3257. <doc xml:space="preserve">the callback function to remove</doc>
  3258. <type name="ClosureNotify" c:type="GClosureNotify"/>
  3259. </parameter>
  3260. </parameters>
  3261. </method>
  3262. <method name="remove_invalidate_notifier"
  3263. c:identifier="g_closure_remove_invalidate_notifier"
  3264. introspectable="0">
  3265. <doc xml:space="preserve">Removes an invalidation notifier.
  3266. Notice that notifiers are automatically removed after they are run.</doc>
  3267. <return-value transfer-ownership="none">
  3268. <type name="none" c:type="void"/>
  3269. </return-value>
  3270. <parameters>
  3271. <instance-parameter name="closure" transfer-ownership="none">
  3272. <doc xml:space="preserve">a #GClosure</doc>
  3273. <type name="Closure" c:type="GClosure*"/>
  3274. </instance-parameter>
  3275. <parameter name="notify_data"
  3276. transfer-ownership="none"
  3277. nullable="1"
  3278. allow-none="1">
  3279. <doc xml:space="preserve">data which was passed to g_closure_add_invalidate_notifier()
  3280. when registering @notify_func</doc>
  3281. <type name="gpointer" c:type="gpointer"/>
  3282. </parameter>
  3283. <parameter name="notify_func" transfer-ownership="none">
  3284. <doc xml:space="preserve">the callback function to remove</doc>
  3285. <type name="ClosureNotify" c:type="GClosureNotify"/>
  3286. </parameter>
  3287. </parameters>
  3288. </method>
  3289. <method name="set_marshal"
  3290. c:identifier="g_closure_set_marshal"
  3291. introspectable="0">
  3292. <doc xml:space="preserve">Sets the marshaller of @closure. The `marshal_data`
  3293. of @marshal provides a way for a meta marshaller to provide additional
  3294. information to the marshaller. (See g_closure_set_meta_marshal().) For
  3295. GObject's C predefined marshallers (the g_cclosure_marshal_*()
  3296. functions), what it provides is a callback function to use instead of
  3297. @closure-&gt;callback.</doc>
  3298. <return-value transfer-ownership="none">
  3299. <type name="none" c:type="void"/>
  3300. </return-value>
  3301. <parameters>
  3302. <instance-parameter name="closure" transfer-ownership="none">
  3303. <doc xml:space="preserve">a #GClosure</doc>
  3304. <type name="Closure" c:type="GClosure*"/>
  3305. </instance-parameter>
  3306. <parameter name="marshal" transfer-ownership="none">
  3307. <doc xml:space="preserve">a #GClosureMarshal function</doc>
  3308. <type name="ClosureMarshal" c:type="GClosureMarshal"/>
  3309. </parameter>
  3310. </parameters>
  3311. </method>
  3312. <method name="set_meta_marshal"
  3313. c:identifier="g_closure_set_meta_marshal"
  3314. introspectable="0">
  3315. <doc xml:space="preserve">Sets the meta marshaller of @closure. A meta marshaller wraps
  3316. @closure-&gt;marshal and modifies the way it is called in some
  3317. fashion. The most common use of this facility is for C callbacks.
  3318. The same marshallers (generated by [glib-genmarshal][glib-genmarshal]),
  3319. are used everywhere, but the way that we get the callback function
  3320. differs. In most cases we want to use @closure-&gt;callback, but in
  3321. other cases we want to use some different technique to retrieve the
  3322. callback function.
  3323. For example, class closures for signals (see
  3324. g_signal_type_cclosure_new()) retrieve the callback function from a
  3325. fixed offset in the class structure. The meta marshaller retrieves
  3326. the right callback and passes it to the marshaller as the
  3327. @marshal_data argument.</doc>
  3328. <return-value transfer-ownership="none">
  3329. <type name="none" c:type="void"/>
  3330. </return-value>
  3331. <parameters>
  3332. <instance-parameter name="closure" transfer-ownership="none">
  3333. <doc xml:space="preserve">a #GClosure</doc>
  3334. <type name="Closure" c:type="GClosure*"/>
  3335. </instance-parameter>
  3336. <parameter name="marshal_data"
  3337. transfer-ownership="none"
  3338. nullable="1"
  3339. allow-none="1"
  3340. closure="1">
  3341. <doc xml:space="preserve">context-dependent data to pass
  3342. to @meta_marshal</doc>
  3343. <type name="gpointer" c:type="gpointer"/>
  3344. </parameter>
  3345. <parameter name="meta_marshal"
  3346. transfer-ownership="none"
  3347. nullable="1"
  3348. allow-none="1">
  3349. <doc xml:space="preserve">a #GClosureMarshal function</doc>
  3350. <type name="ClosureMarshal" c:type="GClosureMarshal"/>
  3351. </parameter>
  3352. </parameters>
  3353. </method>
  3354. <method name="sink" c:identifier="g_closure_sink">
  3355. <doc xml:space="preserve">Takes over the initial ownership of a closure. Each closure is
  3356. initially created in a "floating" state, which means that the initial
  3357. reference count is not owned by any caller. g_closure_sink() checks
  3358. to see if the object is still floating, and if so, unsets the
  3359. floating state and decreases the reference count. If the closure
  3360. is not floating, g_closure_sink() does nothing. The reason for the
  3361. existence of the floating state is to prevent cumbersome code
  3362. sequences like:
  3363. |[&lt;!-- language="C" --&gt;
  3364. closure = g_cclosure_new (cb_func, cb_data);
  3365. g_source_set_closure (source, closure);
  3366. g_closure_unref (closure); // GObject doesn't really need this
  3367. ]|
  3368. Because g_source_set_closure() (and similar functions) take ownership of the
  3369. initial reference count, if it is unowned, we instead can write:
  3370. |[&lt;!-- language="C" --&gt;
  3371. g_source_set_closure (source, g_cclosure_new (cb_func, cb_data));
  3372. ]|
  3373. Generally, this function is used together with g_closure_ref(). Ane example
  3374. of storing a closure for later notification looks like:
  3375. |[&lt;!-- language="C" --&gt;
  3376. static GClosure *notify_closure = NULL;
  3377. void
  3378. foo_notify_set_closure (GClosure *closure)
  3379. {
  3380. if (notify_closure)
  3381. g_closure_unref (notify_closure);
  3382. notify_closure = closure;
  3383. if (notify_closure)
  3384. {
  3385. g_closure_ref (notify_closure);
  3386. g_closure_sink (notify_closure);
  3387. }
  3388. }
  3389. ]|
  3390. Because g_closure_sink() may decrement the reference count of a closure
  3391. (if it hasn't been called on @closure yet) just like g_closure_unref(),
  3392. g_closure_ref() should be called prior to this function.</doc>
  3393. <return-value transfer-ownership="none">
  3394. <type name="none" c:type="void"/>
  3395. </return-value>
  3396. <parameters>
  3397. <instance-parameter name="closure" transfer-ownership="none">
  3398. <doc xml:space="preserve">#GClosure to decrement the initial reference count on, if it's
  3399. still being held</doc>
  3400. <type name="Closure" c:type="GClosure*"/>
  3401. </instance-parameter>
  3402. </parameters>
  3403. </method>
  3404. <method name="unref" c:identifier="g_closure_unref">
  3405. <doc xml:space="preserve">Decrements the reference count of a closure after it was previously
  3406. incremented by the same caller. If no other callers are using the
  3407. closure, then the closure will be destroyed and freed.</doc>
  3408. <return-value transfer-ownership="none">
  3409. <type name="none" c:type="void"/>
  3410. </return-value>
  3411. <parameters>
  3412. <instance-parameter name="closure" transfer-ownership="none">
  3413. <doc xml:space="preserve">#GClosure to decrement the reference count on</doc>
  3414. <type name="Closure" c:type="GClosure*"/>
  3415. </instance-parameter>
  3416. </parameters>
  3417. </method>
  3418. </record>
  3419. <callback name="ClosureMarshal" c:type="GClosureMarshal">
  3420. <doc xml:space="preserve">The type used for marshaller functions.</doc>
  3421. <return-value transfer-ownership="none">
  3422. <type name="none" c:type="void"/>
  3423. </return-value>
  3424. <parameters>
  3425. <parameter name="closure" transfer-ownership="none">
  3426. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  3427. <type name="Closure" c:type="GClosure*"/>
  3428. </parameter>
  3429. <parameter name="return_value"
  3430. transfer-ownership="none"
  3431. nullable="1"
  3432. allow-none="1">
  3433. <doc xml:space="preserve">a #GValue to store the return
  3434. value. May be %NULL if the callback of @closure doesn't return a
  3435. value.</doc>
  3436. <type name="Value" c:type="GValue*"/>
  3437. </parameter>
  3438. <parameter name="n_param_values" transfer-ownership="none">
  3439. <doc xml:space="preserve">the length of the @param_values array</doc>
  3440. <type name="guint" c:type="guint"/>
  3441. </parameter>
  3442. <parameter name="param_values" transfer-ownership="none">
  3443. <doc xml:space="preserve">an array of
  3444. #GValues holding the arguments on which to invoke the
  3445. callback of @closure</doc>
  3446. <array length="2" zero-terminated="0" c:type="GValue*">
  3447. <type name="Value" c:type="GValue"/>
  3448. </array>
  3449. </parameter>
  3450. <parameter name="invocation_hint"
  3451. transfer-ownership="none"
  3452. nullable="1"
  3453. allow-none="1">
  3454. <doc xml:space="preserve">the invocation hint given as the
  3455. last argument to g_closure_invoke()</doc>
  3456. <type name="gpointer" c:type="gpointer"/>
  3457. </parameter>
  3458. <parameter name="marshal_data"
  3459. transfer-ownership="none"
  3460. nullable="1"
  3461. allow-none="1">
  3462. <doc xml:space="preserve">additional data specified when
  3463. registering the marshaller, see g_closure_set_marshal() and
  3464. g_closure_set_meta_marshal()</doc>
  3465. <type name="gpointer" c:type="gpointer"/>
  3466. </parameter>
  3467. </parameters>
  3468. </callback>
  3469. <callback name="ClosureNotify" c:type="GClosureNotify">
  3470. <doc xml:space="preserve">The type used for the various notification callbacks which can be registered
  3471. on closures.</doc>
  3472. <return-value transfer-ownership="none">
  3473. <type name="none" c:type="void"/>
  3474. </return-value>
  3475. <parameters>
  3476. <parameter name="data"
  3477. transfer-ownership="none"
  3478. nullable="1"
  3479. allow-none="1">
  3480. <doc xml:space="preserve">data specified when registering the notification callback</doc>
  3481. <type name="gpointer" c:type="gpointer"/>
  3482. </parameter>
  3483. <parameter name="closure" transfer-ownership="none">
  3484. <doc xml:space="preserve">the #GClosure on which the notification is emitted</doc>
  3485. <type name="Closure" c:type="GClosure*"/>
  3486. </parameter>
  3487. </parameters>
  3488. </callback>
  3489. <record name="ClosureNotifyData" c:type="GClosureNotifyData">
  3490. <field name="data" writable="1">
  3491. <type name="gpointer" c:type="gpointer"/>
  3492. </field>
  3493. <field name="notify" writable="1">
  3494. <type name="ClosureNotify" c:type="GClosureNotify"/>
  3495. </field>
  3496. </record>
  3497. <bitfield name="ConnectFlags" c:type="GConnectFlags">
  3498. <doc xml:space="preserve">The connection flags are used to specify the behaviour of a signal's
  3499. connection.</doc>
  3500. <member name="after" value="1" c:identifier="G_CONNECT_AFTER">
  3501. <doc xml:space="preserve">whether the handler should be called before or after the
  3502. default handler of the signal.</doc>
  3503. </member>
  3504. <member name="swapped" value="2" c:identifier="G_CONNECT_SWAPPED">
  3505. <doc xml:space="preserve">whether the instance and data should be swapped when
  3506. calling the handler; see g_signal_connect_swapped() for an example.</doc>
  3507. </member>
  3508. </bitfield>
  3509. <record name="EnumClass" c:type="GEnumClass">
  3510. <doc xml:space="preserve">The class of an enumeration type holds information about its
  3511. possible values.</doc>
  3512. <field name="g_type_class" writable="1">
  3513. <doc xml:space="preserve">the parent class</doc>
  3514. <type name="TypeClass" c:type="GTypeClass"/>
  3515. </field>
  3516. <field name="minimum" writable="1">
  3517. <doc xml:space="preserve">the smallest possible value.</doc>
  3518. <type name="gint" c:type="gint"/>
  3519. </field>
  3520. <field name="maximum" writable="1">
  3521. <doc xml:space="preserve">the largest possible value.</doc>
  3522. <type name="gint" c:type="gint"/>
  3523. </field>
  3524. <field name="n_values" writable="1">
  3525. <doc xml:space="preserve">the number of possible values.</doc>
  3526. <type name="guint" c:type="guint"/>
  3527. </field>
  3528. <field name="values" writable="1">
  3529. <doc xml:space="preserve">an array of #GEnumValue structs describing the
  3530. individual values.</doc>
  3531. <type name="EnumValue" c:type="GEnumValue*"/>
  3532. </field>
  3533. </record>
  3534. <record name="EnumValue" c:type="GEnumValue">
  3535. <doc xml:space="preserve">A structure which contains a single enum value, its name, and its
  3536. nickname.</doc>
  3537. <field name="value" writable="1">
  3538. <doc xml:space="preserve">the enum value</doc>
  3539. <type name="gint" c:type="gint"/>
  3540. </field>
  3541. <field name="value_name" writable="1">
  3542. <doc xml:space="preserve">the name of the value</doc>
  3543. <type name="utf8" c:type="const gchar*"/>
  3544. </field>
  3545. <field name="value_nick" writable="1">
  3546. <doc xml:space="preserve">the nickname of the value</doc>
  3547. <type name="utf8" c:type="const gchar*"/>
  3548. </field>
  3549. </record>
  3550. <record name="FlagsClass" c:type="GFlagsClass">
  3551. <doc xml:space="preserve">The class of a flags type holds information about its
  3552. possible values.</doc>
  3553. <field name="g_type_class" writable="1">
  3554. <doc xml:space="preserve">the parent class</doc>
  3555. <type name="TypeClass" c:type="GTypeClass"/>
  3556. </field>
  3557. <field name="mask" writable="1">
  3558. <doc xml:space="preserve">a mask covering all possible values.</doc>
  3559. <type name="guint" c:type="guint"/>
  3560. </field>
  3561. <field name="n_values" writable="1">
  3562. <doc xml:space="preserve">the number of possible values.</doc>
  3563. <type name="guint" c:type="guint"/>
  3564. </field>
  3565. <field name="values" writable="1">
  3566. <doc xml:space="preserve">an array of #GFlagsValue structs describing the
  3567. individual values.</doc>
  3568. <type name="FlagsValue" c:type="GFlagsValue*"/>
  3569. </field>
  3570. </record>
  3571. <record name="FlagsValue" c:type="GFlagsValue">
  3572. <doc xml:space="preserve">A structure which contains a single flags value, its name, and its
  3573. nickname.</doc>
  3574. <field name="value" writable="1">
  3575. <doc xml:space="preserve">the flags value</doc>
  3576. <type name="guint" c:type="guint"/>
  3577. </field>
  3578. <field name="value_name" writable="1">
  3579. <doc xml:space="preserve">the name of the value</doc>
  3580. <type name="utf8" c:type="const gchar*"/>
  3581. </field>
  3582. <field name="value_nick" writable="1">
  3583. <doc xml:space="preserve">the nickname of the value</doc>
  3584. <type name="utf8" c:type="const gchar*"/>
  3585. </field>
  3586. </record>
  3587. <class name="InitiallyUnowned"
  3588. c:symbol-prefix="initially_unowned"
  3589. c:type="GInitiallyUnowned"
  3590. parent="Object"
  3591. glib:type-name="GInitiallyUnowned"
  3592. glib:get-type="g_initially_unowned_get_type"
  3593. glib:type-struct="InitiallyUnownedClass">
  3594. <doc xml:space="preserve">All the fields in the GInitiallyUnowned structure
  3595. are private to the #GInitiallyUnowned implementation and should never be
  3596. accessed directly.</doc>
  3597. <field name="g_type_instance">
  3598. <type name="TypeInstance" c:type="GTypeInstance"/>
  3599. </field>
  3600. <field name="ref_count" readable="0" private="1">
  3601. <type name="guint" c:type="volatile guint"/>
  3602. </field>
  3603. <field name="qdata" readable="0" private="1">
  3604. <type name="GLib.Data" c:type="GData*"/>
  3605. </field>
  3606. </class>
  3607. <record name="InitiallyUnownedClass"
  3608. c:type="GInitiallyUnownedClass"
  3609. glib:is-gtype-struct-for="InitiallyUnowned">
  3610. <doc xml:space="preserve">The class structure for the GInitiallyUnowned type.</doc>
  3611. <field name="g_type_class">
  3612. <doc xml:space="preserve">the parent class</doc>
  3613. <type name="TypeClass" c:type="GTypeClass"/>
  3614. </field>
  3615. <field name="construct_properties" readable="0" private="1">
  3616. <type name="GLib.SList" c:type="GSList*">
  3617. <type name="gpointer" c:type="gpointer"/>
  3618. </type>
  3619. </field>
  3620. <field name="constructor" introspectable="0">
  3621. <callback name="constructor" introspectable="0">
  3622. <return-value>
  3623. <type name="Object" c:type="GObject*"/>
  3624. </return-value>
  3625. <parameters>
  3626. <parameter name="type" transfer-ownership="none">
  3627. <type name="GType" c:type="GType"/>
  3628. </parameter>
  3629. <parameter name="n_construct_properties" transfer-ownership="none">
  3630. <type name="guint" c:type="guint"/>
  3631. </parameter>
  3632. <parameter name="construct_properties" transfer-ownership="none">
  3633. <type name="ObjectConstructParam"
  3634. c:type="GObjectConstructParam*"/>
  3635. </parameter>
  3636. </parameters>
  3637. </callback>
  3638. </field>
  3639. <field name="set_property">
  3640. <callback name="set_property">
  3641. <return-value transfer-ownership="none">
  3642. <type name="none" c:type="void"/>
  3643. </return-value>
  3644. <parameters>
  3645. <parameter name="object" transfer-ownership="none">
  3646. <type name="Object" c:type="GObject*"/>
  3647. </parameter>
  3648. <parameter name="property_id" transfer-ownership="none">
  3649. <type name="guint" c:type="guint"/>
  3650. </parameter>
  3651. <parameter name="value" transfer-ownership="none">
  3652. <type name="Value" c:type="const GValue*"/>
  3653. </parameter>
  3654. <parameter name="pspec" transfer-ownership="none">
  3655. <type name="ParamSpec" c:type="GParamSpec*"/>
  3656. </parameter>
  3657. </parameters>
  3658. </callback>
  3659. </field>
  3660. <field name="get_property">
  3661. <callback name="get_property">
  3662. <return-value transfer-ownership="none">
  3663. <type name="none" c:type="void"/>
  3664. </return-value>
  3665. <parameters>
  3666. <parameter name="object" transfer-ownership="none">
  3667. <type name="Object" c:type="GObject*"/>
  3668. </parameter>
  3669. <parameter name="property_id" transfer-ownership="none">
  3670. <type name="guint" c:type="guint"/>
  3671. </parameter>
  3672. <parameter name="value" transfer-ownership="none">
  3673. <type name="Value" c:type="GValue*"/>
  3674. </parameter>
  3675. <parameter name="pspec" transfer-ownership="none">
  3676. <type name="ParamSpec" c:type="GParamSpec*"/>
  3677. </parameter>
  3678. </parameters>
  3679. </callback>
  3680. </field>
  3681. <field name="dispose">
  3682. <callback name="dispose">
  3683. <return-value transfer-ownership="none">
  3684. <type name="none" c:type="void"/>
  3685. </return-value>
  3686. <parameters>
  3687. <parameter name="object" transfer-ownership="none">
  3688. <type name="Object" c:type="GObject*"/>
  3689. </parameter>
  3690. </parameters>
  3691. </callback>
  3692. </field>
  3693. <field name="finalize">
  3694. <callback name="finalize">
  3695. <return-value transfer-ownership="none">
  3696. <type name="none" c:type="void"/>
  3697. </return-value>
  3698. <parameters>
  3699. <parameter name="object" transfer-ownership="none">
  3700. <type name="Object" c:type="GObject*"/>
  3701. </parameter>
  3702. </parameters>
  3703. </callback>
  3704. </field>
  3705. <field name="dispatch_properties_changed">
  3706. <callback name="dispatch_properties_changed">
  3707. <return-value transfer-ownership="none">
  3708. <type name="none" c:type="void"/>
  3709. </return-value>
  3710. <parameters>
  3711. <parameter name="object" transfer-ownership="none">
  3712. <type name="Object" c:type="GObject*"/>
  3713. </parameter>
  3714. <parameter name="n_pspecs" transfer-ownership="none">
  3715. <type name="guint" c:type="guint"/>
  3716. </parameter>
  3717. <parameter name="pspecs" transfer-ownership="none">
  3718. <type name="ParamSpec" c:type="GParamSpec**"/>
  3719. </parameter>
  3720. </parameters>
  3721. </callback>
  3722. </field>
  3723. <field name="notify">
  3724. <callback name="notify">
  3725. <return-value transfer-ownership="none">
  3726. <type name="none" c:type="void"/>
  3727. </return-value>
  3728. <parameters>
  3729. <parameter name="object" transfer-ownership="none">
  3730. <doc xml:space="preserve">a #GObject</doc>
  3731. <type name="Object" c:type="GObject*"/>
  3732. </parameter>
  3733. <parameter name="pspec" transfer-ownership="none">
  3734. <type name="ParamSpec" c:type="GParamSpec*"/>
  3735. </parameter>
  3736. </parameters>
  3737. </callback>
  3738. </field>
  3739. <field name="constructed">
  3740. <callback name="constructed">
  3741. <return-value transfer-ownership="none">
  3742. <type name="none" c:type="void"/>
  3743. </return-value>
  3744. <parameters>
  3745. <parameter name="object" transfer-ownership="none">
  3746. <type name="Object" c:type="GObject*"/>
  3747. </parameter>
  3748. </parameters>
  3749. </callback>
  3750. </field>
  3751. <field name="flags" readable="0" private="1">
  3752. <type name="gsize" c:type="gsize"/>
  3753. </field>
  3754. <field name="pdummy" readable="0" private="1">
  3755. <array zero-terminated="0" c:type="gpointer" fixed-size="6">
  3756. <type name="gpointer" c:type="gpointer"/>
  3757. </array>
  3758. </field>
  3759. </record>
  3760. <callback name="InstanceInitFunc" c:type="GInstanceInitFunc">
  3761. <doc xml:space="preserve">A callback function used by the type system to initialize a new
  3762. instance of a type. This function initializes all instance members and
  3763. allocates any resources required by it.
  3764. Initialization of a derived instance involves calling all its parent
  3765. types instance initializers, so the class member of the instance
  3766. is altered during its initialization to always point to the class that
  3767. belongs to the type the current initializer was introduced for.
  3768. The extended members of @instance are guaranteed to have been filled with
  3769. zeros before this function is called.</doc>
  3770. <return-value transfer-ownership="none">
  3771. <type name="none" c:type="void"/>
  3772. </return-value>
  3773. <parameters>
  3774. <parameter name="instance" transfer-ownership="none">
  3775. <doc xml:space="preserve">The instance to initialize</doc>
  3776. <type name="TypeInstance" c:type="GTypeInstance*"/>
  3777. </parameter>
  3778. <parameter name="g_class" transfer-ownership="none">
  3779. <doc xml:space="preserve">The class of the type the instance is
  3780. created for</doc>
  3781. <type name="TypeClass" c:type="gpointer"/>
  3782. </parameter>
  3783. </parameters>
  3784. </callback>
  3785. <callback name="InterfaceFinalizeFunc" c:type="GInterfaceFinalizeFunc">
  3786. <doc xml:space="preserve">A callback function used by the type system to finalize an interface.
  3787. This function should destroy any internal data and release any resources
  3788. allocated by the corresponding GInterfaceInitFunc() function.</doc>
  3789. <return-value transfer-ownership="none">
  3790. <type name="none" c:type="void"/>
  3791. </return-value>
  3792. <parameters>
  3793. <parameter name="g_iface" transfer-ownership="none">
  3794. <doc xml:space="preserve">The interface structure to finalize</doc>
  3795. <type name="TypeInterface" c:type="gpointer"/>
  3796. </parameter>
  3797. <parameter name="iface_data"
  3798. transfer-ownership="none"
  3799. nullable="1"
  3800. allow-none="1">
  3801. <doc xml:space="preserve">The @interface_data supplied via the #GInterfaceInfo structure</doc>
  3802. <type name="gpointer" c:type="gpointer"/>
  3803. </parameter>
  3804. </parameters>
  3805. </callback>
  3806. <record name="InterfaceInfo" c:type="GInterfaceInfo">
  3807. <doc xml:space="preserve">A structure that provides information to the type system which is
  3808. used specifically for managing interface types.</doc>
  3809. <field name="interface_init" writable="1">
  3810. <doc xml:space="preserve">location of the interface initialization function</doc>
  3811. <type name="InterfaceInitFunc" c:type="GInterfaceInitFunc"/>
  3812. </field>
  3813. <field name="interface_finalize" writable="1">
  3814. <doc xml:space="preserve">location of the interface finalization function</doc>
  3815. <type name="InterfaceFinalizeFunc" c:type="GInterfaceFinalizeFunc"/>
  3816. </field>
  3817. <field name="interface_data" writable="1">
  3818. <doc xml:space="preserve">user-supplied data passed to the interface init/finalize functions</doc>
  3819. <type name="gpointer" c:type="gpointer"/>
  3820. </field>
  3821. </record>
  3822. <callback name="InterfaceInitFunc" c:type="GInterfaceInitFunc">
  3823. <doc xml:space="preserve">A callback function used by the type system to initialize a new
  3824. interface. This function should initialize all internal data and
  3825. allocate any resources required by the interface.
  3826. The members of @iface_data are guaranteed to have been filled with
  3827. zeros before this function is called.</doc>
  3828. <return-value transfer-ownership="none">
  3829. <type name="none" c:type="void"/>
  3830. </return-value>
  3831. <parameters>
  3832. <parameter name="g_iface" transfer-ownership="none">
  3833. <doc xml:space="preserve">The interface structure to initialize</doc>
  3834. <type name="TypeInterface" c:type="gpointer"/>
  3835. </parameter>
  3836. <parameter name="iface_data"
  3837. transfer-ownership="none"
  3838. nullable="1"
  3839. allow-none="1">
  3840. <doc xml:space="preserve">The @interface_data supplied via the #GInterfaceInfo structure</doc>
  3841. <type name="gpointer" c:type="gpointer"/>
  3842. </parameter>
  3843. </parameters>
  3844. </callback>
  3845. <class name="Object"
  3846. c:symbol-prefix="object"
  3847. c:type="GObject"
  3848. glib:type-name="GObject"
  3849. glib:get-type="g_object_get_type"
  3850. glib:type-struct="ObjectClass">
  3851. <doc xml:space="preserve">All the fields in the GObject structure are private
  3852. to the #GObject implementation and should never be accessed directly.</doc>
  3853. <constructor name="new"
  3854. c:identifier="g_object_new"
  3855. shadowed-by="newv"
  3856. introspectable="0">
  3857. <doc xml:space="preserve">Creates a new instance of a #GObject subtype and sets its properties.
  3858. Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
  3859. which are not explicitly specified are set to their default values.</doc>
  3860. <return-value transfer-ownership="full">
  3861. <doc xml:space="preserve">a new instance of
  3862. @object_type</doc>
  3863. <type name="Object" c:type="gpointer"/>
  3864. </return-value>
  3865. <parameters>
  3866. <parameter name="object_type" transfer-ownership="none">
  3867. <doc xml:space="preserve">the type id of the #GObject subtype to instantiate</doc>
  3868. <type name="GType" c:type="GType"/>
  3869. </parameter>
  3870. <parameter name="first_property_name" transfer-ownership="none">
  3871. <doc xml:space="preserve">the name of the first property</doc>
  3872. <type name="utf8" c:type="const gchar*"/>
  3873. </parameter>
  3874. <parameter name="..." transfer-ownership="none">
  3875. <doc xml:space="preserve">the value of the first property, followed optionally by more
  3876. name/value pairs, followed by %NULL</doc>
  3877. <varargs/>
  3878. </parameter>
  3879. </parameters>
  3880. </constructor>
  3881. <constructor name="new_valist"
  3882. c:identifier="g_object_new_valist"
  3883. introspectable="0">
  3884. <doc xml:space="preserve">Creates a new instance of a #GObject subtype and sets its properties.
  3885. Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
  3886. which are not explicitly specified are set to their default values.</doc>
  3887. <return-value transfer-ownership="full">
  3888. <doc xml:space="preserve">a new instance of @object_type</doc>
  3889. <type name="Object" c:type="GObject*"/>
  3890. </return-value>
  3891. <parameters>
  3892. <parameter name="object_type" transfer-ownership="none">
  3893. <doc xml:space="preserve">the type id of the #GObject subtype to instantiate</doc>
  3894. <type name="GType" c:type="GType"/>
  3895. </parameter>
  3896. <parameter name="first_property_name" transfer-ownership="none">
  3897. <doc xml:space="preserve">the name of the first property</doc>
  3898. <type name="utf8" c:type="const gchar*"/>
  3899. </parameter>
  3900. <parameter name="var_args" transfer-ownership="none">
  3901. <doc xml:space="preserve">the value of the first property, followed optionally by more
  3902. name/value pairs, followed by %NULL</doc>
  3903. <type name="va_list" c:type="va_list"/>
  3904. </parameter>
  3905. </parameters>
  3906. </constructor>
  3907. <constructor name="newv" c:identifier="g_object_newv" shadows="new">
  3908. <doc xml:space="preserve">Creates a new instance of a #GObject subtype and sets its properties.
  3909. Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
  3910. which are not explicitly specified are set to their default values.</doc>
  3911. <return-value transfer-ownership="full">
  3912. <doc xml:space="preserve">a new instance of
  3913. @object_type</doc>
  3914. <type name="Object" c:type="gpointer"/>
  3915. </return-value>
  3916. <parameters>
  3917. <parameter name="object_type" transfer-ownership="none">
  3918. <doc xml:space="preserve">the type id of the #GObject subtype to instantiate</doc>
  3919. <type name="GType" c:type="GType"/>
  3920. </parameter>
  3921. <parameter name="n_parameters" transfer-ownership="none">
  3922. <doc xml:space="preserve">the length of the @parameters array</doc>
  3923. <type name="guint" c:type="guint"/>
  3924. </parameter>
  3925. <parameter name="parameters" transfer-ownership="none">
  3926. <doc xml:space="preserve">an array of #GParameter</doc>
  3927. <array length="1" zero-terminated="0" c:type="GParameter*">
  3928. <type name="Parameter" c:type="GParameter"/>
  3929. </array>
  3930. </parameter>
  3931. </parameters>
  3932. </constructor>
  3933. <function name="compat_control" c:identifier="g_object_compat_control">
  3934. <return-value transfer-ownership="none">
  3935. <type name="gsize" c:type="gsize"/>
  3936. </return-value>
  3937. <parameters>
  3938. <parameter name="what" transfer-ownership="none">
  3939. <type name="gsize" c:type="gsize"/>
  3940. </parameter>
  3941. <parameter name="data"
  3942. transfer-ownership="none"
  3943. nullable="1"
  3944. allow-none="1">
  3945. <type name="gpointer" c:type="gpointer"/>
  3946. </parameter>
  3947. </parameters>
  3948. </function>
  3949. <function name="interface_find_property"
  3950. c:identifier="g_object_interface_find_property"
  3951. version="2.4">
  3952. <doc xml:space="preserve">Find the #GParamSpec with the given name for an
  3953. interface. Generally, the interface vtable passed in as @g_iface
  3954. will be the default vtable from g_type_default_interface_ref(), or,
  3955. if you know the interface has already been loaded,
  3956. g_type_default_interface_peek().</doc>
  3957. <return-value transfer-ownership="none">
  3958. <doc xml:space="preserve">the #GParamSpec for the property of the
  3959. interface with the name @property_name, or %NULL if no
  3960. such property exists.</doc>
  3961. <type name="ParamSpec" c:type="GParamSpec*"/>
  3962. </return-value>
  3963. <parameters>
  3964. <parameter name="g_iface" transfer-ownership="none">
  3965. <doc xml:space="preserve">any interface vtable for the
  3966. interface, or the default vtable for the interface</doc>
  3967. <type name="TypeInterface" c:type="gpointer"/>
  3968. </parameter>
  3969. <parameter name="property_name" transfer-ownership="none">
  3970. <doc xml:space="preserve">name of a property to lookup.</doc>
  3971. <type name="utf8" c:type="const gchar*"/>
  3972. </parameter>
  3973. </parameters>
  3974. </function>
  3975. <function name="interface_install_property"
  3976. c:identifier="g_object_interface_install_property"
  3977. version="2.4">
  3978. <doc xml:space="preserve">Add a property to an interface; this is only useful for interfaces
  3979. that are added to GObject-derived types. Adding a property to an
  3980. interface forces all objects classes with that interface to have a
  3981. compatible property. The compatible property could be a newly
  3982. created #GParamSpec, but normally
  3983. g_object_class_override_property() will be used so that the object
  3984. class only needs to provide an implementation and inherits the
  3985. property description, default value, bounds, and so forth from the
  3986. interface property.
  3987. This function is meant to be called from the interface's default
  3988. vtable initialization function (the @class_init member of
  3989. #GTypeInfo.) It must not be called after after @class_init has
  3990. been called for any object types implementing this interface.</doc>
  3991. <return-value transfer-ownership="none">
  3992. <type name="none" c:type="void"/>
  3993. </return-value>
  3994. <parameters>
  3995. <parameter name="g_iface" transfer-ownership="none">
  3996. <doc xml:space="preserve">any interface vtable for the
  3997. interface, or the default
  3998. vtable for the interface.</doc>
  3999. <type name="TypeInterface" c:type="gpointer"/>
  4000. </parameter>
  4001. <parameter name="pspec" transfer-ownership="none">
  4002. <doc xml:space="preserve">the #GParamSpec for the new property</doc>
  4003. <type name="ParamSpec" c:type="GParamSpec*"/>
  4004. </parameter>
  4005. </parameters>
  4006. </function>
  4007. <function name="interface_list_properties"
  4008. c:identifier="g_object_interface_list_properties"
  4009. version="2.4">
  4010. <doc xml:space="preserve">Lists the properties of an interface.Generally, the interface
  4011. vtable passed in as @g_iface will be the default vtable from
  4012. g_type_default_interface_ref(), or, if you know the interface has
  4013. already been loaded, g_type_default_interface_peek().</doc>
  4014. <return-value transfer-ownership="container">
  4015. <doc xml:space="preserve">a
  4016. pointer to an array of pointers to #GParamSpec
  4017. structures. The paramspecs are owned by GLib, but the
  4018. array should be freed with g_free() when you are done with
  4019. it.</doc>
  4020. <array length="1" zero-terminated="0" c:type="GParamSpec**">
  4021. <type name="ParamSpec" c:type="GParamSpec*"/>
  4022. </array>
  4023. </return-value>
  4024. <parameters>
  4025. <parameter name="g_iface" transfer-ownership="none">
  4026. <doc xml:space="preserve">any interface vtable for the
  4027. interface, or the default vtable for the interface</doc>
  4028. <type name="TypeInterface" c:type="gpointer"/>
  4029. </parameter>
  4030. <parameter name="n_properties_p"
  4031. direction="out"
  4032. caller-allocates="0"
  4033. transfer-ownership="full">
  4034. <doc xml:space="preserve">location to store number of properties returned.</doc>
  4035. <type name="guint" c:type="guint*"/>
  4036. </parameter>
  4037. </parameters>
  4038. </function>
  4039. <virtual-method name="constructed">
  4040. <return-value transfer-ownership="none">
  4041. <type name="none" c:type="void"/>
  4042. </return-value>
  4043. <parameters>
  4044. <instance-parameter name="object" transfer-ownership="none">
  4045. <type name="Object" c:type="GObject*"/>
  4046. </instance-parameter>
  4047. </parameters>
  4048. </virtual-method>
  4049. <virtual-method name="dispatch_properties_changed">
  4050. <return-value transfer-ownership="none">
  4051. <type name="none" c:type="void"/>
  4052. </return-value>
  4053. <parameters>
  4054. <instance-parameter name="object" transfer-ownership="none">
  4055. <type name="Object" c:type="GObject*"/>
  4056. </instance-parameter>
  4057. <parameter name="n_pspecs" transfer-ownership="none">
  4058. <type name="guint" c:type="guint"/>
  4059. </parameter>
  4060. <parameter name="pspecs" transfer-ownership="none">
  4061. <type name="ParamSpec" c:type="GParamSpec**"/>
  4062. </parameter>
  4063. </parameters>
  4064. </virtual-method>
  4065. <virtual-method name="dispose">
  4066. <return-value transfer-ownership="none">
  4067. <type name="none" c:type="void"/>
  4068. </return-value>
  4069. <parameters>
  4070. <instance-parameter name="object" transfer-ownership="none">
  4071. <type name="Object" c:type="GObject*"/>
  4072. </instance-parameter>
  4073. </parameters>
  4074. </virtual-method>
  4075. <virtual-method name="finalize">
  4076. <return-value transfer-ownership="none">
  4077. <type name="none" c:type="void"/>
  4078. </return-value>
  4079. <parameters>
  4080. <instance-parameter name="object" transfer-ownership="none">
  4081. <type name="Object" c:type="GObject*"/>
  4082. </instance-parameter>
  4083. </parameters>
  4084. </virtual-method>
  4085. <virtual-method name="get_property">
  4086. <return-value transfer-ownership="none">
  4087. <type name="none" c:type="void"/>
  4088. </return-value>
  4089. <parameters>
  4090. <instance-parameter name="object" transfer-ownership="none">
  4091. <type name="Object" c:type="GObject*"/>
  4092. </instance-parameter>
  4093. <parameter name="property_id" transfer-ownership="none">
  4094. <type name="guint" c:type="guint"/>
  4095. </parameter>
  4096. <parameter name="value" transfer-ownership="none">
  4097. <type name="Value" c:type="GValue*"/>
  4098. </parameter>
  4099. <parameter name="pspec" transfer-ownership="none">
  4100. <type name="ParamSpec" c:type="GParamSpec*"/>
  4101. </parameter>
  4102. </parameters>
  4103. </virtual-method>
  4104. <virtual-method name="notify" invoker="notify">
  4105. <doc xml:space="preserve">Emits a "notify" signal for the property @property_name on @object.
  4106. When possible, eg. when signaling a property change from within the class
  4107. that registered the property, you should use g_object_notify_by_pspec()
  4108. instead.
  4109. Note that emission of the notify signal may be blocked with
  4110. g_object_freeze_notify(). In this case, the signal emissions are queued
  4111. and will be emitted (in reverse order) when g_object_thaw_notify() is
  4112. called.</doc>
  4113. <return-value transfer-ownership="none">
  4114. <type name="none" c:type="void"/>
  4115. </return-value>
  4116. <parameters>
  4117. <instance-parameter name="object" transfer-ownership="none">
  4118. <doc xml:space="preserve">a #GObject</doc>
  4119. <type name="Object" c:type="GObject*"/>
  4120. </instance-parameter>
  4121. <parameter name="pspec" transfer-ownership="none">
  4122. <type name="ParamSpec" c:type="GParamSpec*"/>
  4123. </parameter>
  4124. </parameters>
  4125. </virtual-method>
  4126. <virtual-method name="set_property">
  4127. <return-value transfer-ownership="none">
  4128. <type name="none" c:type="void"/>
  4129. </return-value>
  4130. <parameters>
  4131. <instance-parameter name="object" transfer-ownership="none">
  4132. <type name="Object" c:type="GObject*"/>
  4133. </instance-parameter>
  4134. <parameter name="property_id" transfer-ownership="none">
  4135. <type name="guint" c:type="guint"/>
  4136. </parameter>
  4137. <parameter name="value" transfer-ownership="none">
  4138. <type name="Value" c:type="const GValue*"/>
  4139. </parameter>
  4140. <parameter name="pspec" transfer-ownership="none">
  4141. <type name="ParamSpec" c:type="GParamSpec*"/>
  4142. </parameter>
  4143. </parameters>
  4144. </virtual-method>
  4145. <method name="add_toggle_ref"
  4146. c:identifier="g_object_add_toggle_ref"
  4147. version="2.8"
  4148. introspectable="0">
  4149. <doc xml:space="preserve">Increases the reference count of the object by one and sets a
  4150. callback to be called when all other references to the object are
  4151. dropped, or when this is already the last reference to the object
  4152. and another reference is established.
  4153. This functionality is intended for binding @object to a proxy
  4154. object managed by another memory manager. This is done with two
  4155. paired references: the strong reference added by
  4156. g_object_add_toggle_ref() and a reverse reference to the proxy
  4157. object which is either a strong reference or weak reference.
  4158. The setup is that when there are no other references to @object,
  4159. only a weak reference is held in the reverse direction from @object
  4160. to the proxy object, but when there are other references held to
  4161. @object, a strong reference is held. The @notify callback is called
  4162. when the reference from @object to the proxy object should be
  4163. "toggled" from strong to weak (@is_last_ref true) or weak to strong
  4164. (@is_last_ref false).
  4165. Since a (normal) reference must be held to the object before
  4166. calling g_object_add_toggle_ref(), the initial state of the reverse
  4167. link is always strong.
  4168. Multiple toggle references may be added to the same gobject,
  4169. however if there are multiple toggle references to an object, none
  4170. of them will ever be notified until all but one are removed. For
  4171. this reason, you should only ever use a toggle reference if there
  4172. is important state in the proxy object.</doc>
  4173. <return-value transfer-ownership="none">
  4174. <type name="none" c:type="void"/>
  4175. </return-value>
  4176. <parameters>
  4177. <instance-parameter name="object" transfer-ownership="none">
  4178. <doc xml:space="preserve">a #GObject</doc>
  4179. <type name="Object" c:type="GObject*"/>
  4180. </instance-parameter>
  4181. <parameter name="notify" transfer-ownership="none" closure="1">
  4182. <doc xml:space="preserve">a function to call when this reference is the
  4183. last reference to the object, or is no longer
  4184. the last reference.</doc>
  4185. <type name="ToggleNotify" c:type="GToggleNotify"/>
  4186. </parameter>
  4187. <parameter name="data"
  4188. transfer-ownership="none"
  4189. nullable="1"
  4190. allow-none="1">
  4191. <doc xml:space="preserve">data to pass to @notify</doc>
  4192. <type name="gpointer" c:type="gpointer"/>
  4193. </parameter>
  4194. </parameters>
  4195. </method>
  4196. <method name="add_weak_pointer"
  4197. c:identifier="g_object_add_weak_pointer"
  4198. introspectable="0">
  4199. <doc xml:space="preserve">Adds a weak reference from weak_pointer to @object to indicate that
  4200. the pointer located at @weak_pointer_location is only valid during
  4201. the lifetime of @object. When the @object is finalized,
  4202. @weak_pointer will be set to %NULL.
  4203. Note that as with g_object_weak_ref(), the weak references created by
  4204. this method are not thread-safe: they cannot safely be used in one
  4205. thread if the object's last g_object_unref() might happen in another
  4206. thread. Use #GWeakRef if thread-safety is required.</doc>
  4207. <return-value transfer-ownership="none">
  4208. <type name="none" c:type="void"/>
  4209. </return-value>
  4210. <parameters>
  4211. <instance-parameter name="object" transfer-ownership="none">
  4212. <doc xml:space="preserve">The object that should be weak referenced.</doc>
  4213. <type name="Object" c:type="GObject*"/>
  4214. </instance-parameter>
  4215. <parameter name="weak_pointer_location"
  4216. direction="inout"
  4217. caller-allocates="0"
  4218. transfer-ownership="full">
  4219. <doc xml:space="preserve">The memory address
  4220. of a pointer.</doc>
  4221. <type name="gpointer" c:type="gpointer*"/>
  4222. </parameter>
  4223. </parameters>
  4224. </method>
  4225. <method name="bind_property"
  4226. c:identifier="g_object_bind_property"
  4227. version="2.26">
  4228. <doc xml:space="preserve">Creates a binding between @source_property on @source and @target_property
  4229. on @target. Whenever the @source_property is changed the @target_property is
  4230. updated using the same value. For instance:
  4231. |[
  4232. g_object_bind_property (action, "active", widget, "sensitive", 0);
  4233. ]|
  4234. Will result in the "sensitive" property of the widget #GObject instance to be
  4235. updated with the same value of the "active" property of the action #GObject
  4236. instance.
  4237. If @flags contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
  4238. if @target_property on @target changes then the @source_property on @source
  4239. will be updated as well.
  4240. The binding will automatically be removed when either the @source or the
  4241. @target instances are finalized. To remove the binding without affecting the
  4242. @source and the @target you can just call g_object_unref() on the returned
  4243. #GBinding instance.
  4244. A #GObject can have multiple bindings.</doc>
  4245. <return-value transfer-ownership="none">
  4246. <doc xml:space="preserve">the #GBinding instance representing the
  4247. binding between the two #GObject instances. The binding is released
  4248. whenever the #GBinding reference count reaches zero.</doc>
  4249. <type name="Binding" c:type="GBinding*"/>
  4250. </return-value>
  4251. <parameters>
  4252. <instance-parameter name="source" transfer-ownership="none">
  4253. <doc xml:space="preserve">the source #GObject</doc>
  4254. <type name="Object" c:type="gpointer"/>
  4255. </instance-parameter>
  4256. <parameter name="source_property" transfer-ownership="none">
  4257. <doc xml:space="preserve">the property on @source to bind</doc>
  4258. <type name="utf8" c:type="const gchar*"/>
  4259. </parameter>
  4260. <parameter name="target" transfer-ownership="none">
  4261. <doc xml:space="preserve">the target #GObject</doc>
  4262. <type name="Object" c:type="gpointer"/>
  4263. </parameter>
  4264. <parameter name="target_property" transfer-ownership="none">
  4265. <doc xml:space="preserve">the property on @target to bind</doc>
  4266. <type name="utf8" c:type="const gchar*"/>
  4267. </parameter>
  4268. <parameter name="flags" transfer-ownership="none">
  4269. <doc xml:space="preserve">flags to pass to #GBinding</doc>
  4270. <type name="BindingFlags" c:type="GBindingFlags"/>
  4271. </parameter>
  4272. </parameters>
  4273. </method>
  4274. <method name="bind_property_full"
  4275. c:identifier="g_object_bind_property_full"
  4276. shadowed-by="bind_property_with_closures"
  4277. version="2.26">
  4278. <doc xml:space="preserve">Complete version of g_object_bind_property().
  4279. Creates a binding between @source_property on @source and @target_property
  4280. on @target, allowing you to set the transformation functions to be used by
  4281. the binding.
  4282. If @flags contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
  4283. if @target_property on @target changes then the @source_property on @source
  4284. will be updated as well. The @transform_from function is only used in case
  4285. of bidirectional bindings, otherwise it will be ignored
  4286. The binding will automatically be removed when either the @source or the
  4287. @target instances are finalized. To remove the binding without affecting the
  4288. @source and the @target you can just call g_object_unref() on the returned
  4289. #GBinding instance.
  4290. A #GObject can have multiple bindings.
  4291. The same @user_data parameter will be used for both @transform_to
  4292. and @transform_from transformation functions; the @notify function will
  4293. be called once, when the binding is removed. If you need different data
  4294. for each transformation function, please use
  4295. g_object_bind_property_with_closures() instead.</doc>
  4296. <return-value transfer-ownership="none">
  4297. <doc xml:space="preserve">the #GBinding instance representing the
  4298. binding between the two #GObject instances. The binding is released
  4299. whenever the #GBinding reference count reaches zero.</doc>
  4300. <type name="Binding" c:type="GBinding*"/>
  4301. </return-value>
  4302. <parameters>
  4303. <instance-parameter name="source" transfer-ownership="none">
  4304. <doc xml:space="preserve">the source #GObject</doc>
  4305. <type name="Object" c:type="gpointer"/>
  4306. </instance-parameter>
  4307. <parameter name="source_property" transfer-ownership="none">
  4308. <doc xml:space="preserve">the property on @source to bind</doc>
  4309. <type name="utf8" c:type="const gchar*"/>
  4310. </parameter>
  4311. <parameter name="target" transfer-ownership="none">
  4312. <doc xml:space="preserve">the target #GObject</doc>
  4313. <type name="Object" c:type="gpointer"/>
  4314. </parameter>
  4315. <parameter name="target_property" transfer-ownership="none">
  4316. <doc xml:space="preserve">the property on @target to bind</doc>
  4317. <type name="utf8" c:type="const gchar*"/>
  4318. </parameter>
  4319. <parameter name="flags" transfer-ownership="none">
  4320. <doc xml:space="preserve">flags to pass to #GBinding</doc>
  4321. <type name="BindingFlags" c:type="GBindingFlags"/>
  4322. </parameter>
  4323. <parameter name="transform_to"
  4324. transfer-ownership="none"
  4325. nullable="1"
  4326. allow-none="1"
  4327. scope="notified">
  4328. <doc xml:space="preserve">the transformation function
  4329. from the @source to the @target, or %NULL to use the default</doc>
  4330. <type name="BindingTransformFunc" c:type="GBindingTransformFunc"/>
  4331. </parameter>
  4332. <parameter name="transform_from"
  4333. transfer-ownership="none"
  4334. nullable="1"
  4335. allow-none="1"
  4336. scope="notified"
  4337. closure="6"
  4338. destroy="7">
  4339. <doc xml:space="preserve">the transformation function
  4340. from the @target to the @source, or %NULL to use the default</doc>
  4341. <type name="BindingTransformFunc" c:type="GBindingTransformFunc"/>
  4342. </parameter>
  4343. <parameter name="user_data"
  4344. transfer-ownership="none"
  4345. nullable="1"
  4346. allow-none="1">
  4347. <doc xml:space="preserve">custom data to be passed to the transformation functions,
  4348. or %NULL</doc>
  4349. <type name="gpointer" c:type="gpointer"/>
  4350. </parameter>
  4351. <parameter name="notify" transfer-ownership="none" scope="async">
  4352. <doc xml:space="preserve">function to be called when disposing the binding, to free the
  4353. resources used by the transformation functions</doc>
  4354. <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
  4355. </parameter>
  4356. </parameters>
  4357. </method>
  4358. <method name="bind_property_with_closures"
  4359. c:identifier="g_object_bind_property_with_closures"
  4360. shadows="bind_property_full"
  4361. version="2.26">
  4362. <doc xml:space="preserve">Creates a binding between @source_property on @source and @target_property
  4363. on @target, allowing you to set the transformation functions to be used by
  4364. the binding.
  4365. This function is the language bindings friendly version of
  4366. g_object_bind_property_full(), using #GClosures instead of
  4367. function pointers.</doc>
  4368. <return-value transfer-ownership="none">
  4369. <doc xml:space="preserve">the #GBinding instance representing the
  4370. binding between the two #GObject instances. The binding is released
  4371. whenever the #GBinding reference count reaches zero.</doc>
  4372. <type name="Binding" c:type="GBinding*"/>
  4373. </return-value>
  4374. <parameters>
  4375. <instance-parameter name="source" transfer-ownership="none">
  4376. <doc xml:space="preserve">the source #GObject</doc>
  4377. <type name="Object" c:type="gpointer"/>
  4378. </instance-parameter>
  4379. <parameter name="source_property" transfer-ownership="none">
  4380. <doc xml:space="preserve">the property on @source to bind</doc>
  4381. <type name="utf8" c:type="const gchar*"/>
  4382. </parameter>
  4383. <parameter name="target" transfer-ownership="none">
  4384. <doc xml:space="preserve">the target #GObject</doc>
  4385. <type name="Object" c:type="gpointer"/>
  4386. </parameter>
  4387. <parameter name="target_property" transfer-ownership="none">
  4388. <doc xml:space="preserve">the property on @target to bind</doc>
  4389. <type name="utf8" c:type="const gchar*"/>
  4390. </parameter>
  4391. <parameter name="flags" transfer-ownership="none">
  4392. <doc xml:space="preserve">flags to pass to #GBinding</doc>
  4393. <type name="BindingFlags" c:type="GBindingFlags"/>
  4394. </parameter>
  4395. <parameter name="transform_to" transfer-ownership="none">
  4396. <doc xml:space="preserve">a #GClosure wrapping the transformation function
  4397. from the @source to the @target, or %NULL to use the default</doc>
  4398. <type name="Closure" c:type="GClosure*"/>
  4399. </parameter>
  4400. <parameter name="transform_from" transfer-ownership="none">
  4401. <doc xml:space="preserve">a #GClosure wrapping the transformation function
  4402. from the @target to the @source, or %NULL to use the default</doc>
  4403. <type name="Closure" c:type="GClosure*"/>
  4404. </parameter>
  4405. </parameters>
  4406. </method>
  4407. <method name="connect"
  4408. c:identifier="g_object_connect"
  4409. introspectable="0">
  4410. <doc xml:space="preserve">A convenience function to connect multiple signals at once.
  4411. The signal specs expected by this function have the form
  4412. "modifier::signal_name", where modifier can be one of the following:
  4413. * - signal: equivalent to g_signal_connect_data (..., NULL, 0)
  4414. - object-signal, object_signal: equivalent to g_signal_connect_object (..., 0)
  4415. - swapped-signal, swapped_signal: equivalent to g_signal_connect_data (..., NULL, G_CONNECT_SWAPPED)
  4416. - swapped_object_signal, swapped-object-signal: equivalent to g_signal_connect_object (..., G_CONNECT_SWAPPED)
  4417. - signal_after, signal-after: equivalent to g_signal_connect_data (..., NULL, G_CONNECT_AFTER)
  4418. - object_signal_after, object-signal-after: equivalent to g_signal_connect_object (..., G_CONNECT_AFTER)
  4419. - swapped_signal_after, swapped-signal-after: equivalent to g_signal_connect_data (..., NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER)
  4420. - swapped_object_signal_after, swapped-object-signal-after: equivalent to g_signal_connect_object (..., G_CONNECT_SWAPPED | G_CONNECT_AFTER)
  4421. |[&lt;!-- language="C" --&gt;
  4422. menu-&gt;toplevel = g_object_connect (g_object_new (GTK_TYPE_WINDOW,
  4423. "type", GTK_WINDOW_POPUP,
  4424. "child", menu,
  4425. NULL),
  4426. "signal::event", gtk_menu_window_event, menu,
  4427. "signal::size_request", gtk_menu_window_size_request, menu,
  4428. "signal::destroy", gtk_widget_destroyed, &amp;menu-&gt;toplevel,
  4429. NULL);
  4430. ]|</doc>
  4431. <return-value transfer-ownership="none">
  4432. <doc xml:space="preserve">@object</doc>
  4433. <type name="Object" c:type="gpointer"/>
  4434. </return-value>
  4435. <parameters>
  4436. <instance-parameter name="object" transfer-ownership="none">
  4437. <doc xml:space="preserve">a #GObject</doc>
  4438. <type name="Object" c:type="gpointer"/>
  4439. </instance-parameter>
  4440. <parameter name="signal_spec" transfer-ownership="none">
  4441. <doc xml:space="preserve">the spec for the first signal</doc>
  4442. <type name="utf8" c:type="const gchar*"/>
  4443. </parameter>
  4444. <parameter name="..." transfer-ownership="none">
  4445. <doc xml:space="preserve">#GCallback for the first signal, followed by data for the
  4446. first signal, followed optionally by more signal
  4447. spec/callback/data triples, followed by %NULL</doc>
  4448. <varargs/>
  4449. </parameter>
  4450. </parameters>
  4451. </method>
  4452. <method name="disconnect"
  4453. c:identifier="g_object_disconnect"
  4454. introspectable="0">
  4455. <doc xml:space="preserve">A convenience function to disconnect multiple signals at once.
  4456. The signal specs expected by this function have the form
  4457. "any_signal", which means to disconnect any signal with matching
  4458. callback and data, or "any_signal::signal_name", which only
  4459. disconnects the signal named "signal_name".</doc>
  4460. <return-value transfer-ownership="none">
  4461. <type name="none" c:type="void"/>
  4462. </return-value>
  4463. <parameters>
  4464. <instance-parameter name="object" transfer-ownership="none">
  4465. <doc xml:space="preserve">a #GObject</doc>
  4466. <type name="Object" c:type="gpointer"/>
  4467. </instance-parameter>
  4468. <parameter name="signal_spec" transfer-ownership="none">
  4469. <doc xml:space="preserve">the spec for the first signal</doc>
  4470. <type name="utf8" c:type="const gchar*"/>
  4471. </parameter>
  4472. <parameter name="..." transfer-ownership="none">
  4473. <doc xml:space="preserve">#GCallback for the first signal, followed by data for the first signal,
  4474. followed optionally by more signal spec/callback/data triples,
  4475. followed by %NULL</doc>
  4476. <varargs/>
  4477. </parameter>
  4478. </parameters>
  4479. </method>
  4480. <method name="dup_data"
  4481. c:identifier="g_object_dup_data"
  4482. version="2.34"
  4483. introspectable="0">
  4484. <doc xml:space="preserve">This is a variant of g_object_get_data() which returns
  4485. a 'duplicate' of the value. @dup_func defines the
  4486. meaning of 'duplicate' in this context, it could e.g.
  4487. take a reference on a ref-counted object.
  4488. If the @key is not set on the object then @dup_func
  4489. will be called with a %NULL argument.
  4490. Note that @dup_func is called while user data of @object
  4491. is locked.
  4492. This function can be useful to avoid races when multiple
  4493. threads are using object data on the same key on the same
  4494. object.</doc>
  4495. <return-value transfer-ownership="none" nullable="1">
  4496. <doc xml:space="preserve">the result of calling @dup_func on the value
  4497. associated with @key on @object, or %NULL if not set.
  4498. If @dup_func is %NULL, the value is returned
  4499. unmodified.</doc>
  4500. <type name="gpointer" c:type="gpointer"/>
  4501. </return-value>
  4502. <parameters>
  4503. <instance-parameter name="object" transfer-ownership="none">
  4504. <doc xml:space="preserve">the #GObject to store user data on</doc>
  4505. <type name="Object" c:type="GObject*"/>
  4506. </instance-parameter>
  4507. <parameter name="key" transfer-ownership="none">
  4508. <doc xml:space="preserve">a string, naming the user data pointer</doc>
  4509. <type name="utf8" c:type="const gchar*"/>
  4510. </parameter>
  4511. <parameter name="dup_func"
  4512. transfer-ownership="none"
  4513. nullable="1"
  4514. allow-none="1"
  4515. closure="2">
  4516. <doc xml:space="preserve">function to dup the value</doc>
  4517. <type name="GLib.DuplicateFunc" c:type="GDuplicateFunc"/>
  4518. </parameter>
  4519. <parameter name="user_data"
  4520. transfer-ownership="none"
  4521. nullable="1"
  4522. allow-none="1">
  4523. <doc xml:space="preserve">passed as user_data to @dup_func</doc>
  4524. <type name="gpointer" c:type="gpointer"/>
  4525. </parameter>
  4526. </parameters>
  4527. </method>
  4528. <method name="dup_qdata"
  4529. c:identifier="g_object_dup_qdata"
  4530. version="2.34"
  4531. introspectable="0">
  4532. <doc xml:space="preserve">This is a variant of g_object_get_qdata() which returns
  4533. a 'duplicate' of the value. @dup_func defines the
  4534. meaning of 'duplicate' in this context, it could e.g.
  4535. take a reference on a ref-counted object.
  4536. If the @quark is not set on the object then @dup_func
  4537. will be called with a %NULL argument.
  4538. Note that @dup_func is called while user data of @object
  4539. is locked.
  4540. This function can be useful to avoid races when multiple
  4541. threads are using object data on the same key on the same
  4542. object.</doc>
  4543. <return-value transfer-ownership="none" nullable="1">
  4544. <doc xml:space="preserve">the result of calling @dup_func on the value
  4545. associated with @quark on @object, or %NULL if not set.
  4546. If @dup_func is %NULL, the value is returned
  4547. unmodified.</doc>
  4548. <type name="gpointer" c:type="gpointer"/>
  4549. </return-value>
  4550. <parameters>
  4551. <instance-parameter name="object" transfer-ownership="none">
  4552. <doc xml:space="preserve">the #GObject to store user data on</doc>
  4553. <type name="Object" c:type="GObject*"/>
  4554. </instance-parameter>
  4555. <parameter name="quark" transfer-ownership="none">
  4556. <doc xml:space="preserve">a #GQuark, naming the user data pointer</doc>
  4557. <type name="GLib.Quark" c:type="GQuark"/>
  4558. </parameter>
  4559. <parameter name="dup_func"
  4560. transfer-ownership="none"
  4561. nullable="1"
  4562. allow-none="1"
  4563. closure="2">
  4564. <doc xml:space="preserve">function to dup the value</doc>
  4565. <type name="GLib.DuplicateFunc" c:type="GDuplicateFunc"/>
  4566. </parameter>
  4567. <parameter name="user_data"
  4568. transfer-ownership="none"
  4569. nullable="1"
  4570. allow-none="1">
  4571. <doc xml:space="preserve">passed as user_data to @dup_func</doc>
  4572. <type name="gpointer" c:type="gpointer"/>
  4573. </parameter>
  4574. </parameters>
  4575. </method>
  4576. <method name="force_floating"
  4577. c:identifier="g_object_force_floating"
  4578. version="2.10">
  4579. <doc xml:space="preserve">This function is intended for #GObject implementations to re-enforce
  4580. a [floating][floating-ref] object reference. Doing this is seldom
  4581. required: all #GInitiallyUnowneds are created with a floating reference
  4582. which usually just needs to be sunken by calling g_object_ref_sink().</doc>
  4583. <return-value transfer-ownership="none">
  4584. <type name="none" c:type="void"/>
  4585. </return-value>
  4586. <parameters>
  4587. <instance-parameter name="object" transfer-ownership="none">
  4588. <doc xml:space="preserve">a #GObject</doc>
  4589. <type name="Object" c:type="GObject*"/>
  4590. </instance-parameter>
  4591. </parameters>
  4592. </method>
  4593. <method name="freeze_notify" c:identifier="g_object_freeze_notify">
  4594. <doc xml:space="preserve">Increases the freeze count on @object. If the freeze count is
  4595. non-zero, the emission of "notify" signals on @object is
  4596. stopped. The signals are queued until the freeze count is decreased
  4597. to zero. Duplicate notifications are squashed so that at most one
  4598. #GObject::notify signal is emitted for each property modified while the
  4599. object is frozen.
  4600. This is necessary for accessors that modify multiple properties to prevent
  4601. premature notification while the object is still being modified.</doc>
  4602. <return-value transfer-ownership="none">
  4603. <type name="none" c:type="void"/>
  4604. </return-value>
  4605. <parameters>
  4606. <instance-parameter name="object" transfer-ownership="none">
  4607. <doc xml:space="preserve">a #GObject</doc>
  4608. <type name="Object" c:type="GObject*"/>
  4609. </instance-parameter>
  4610. </parameters>
  4611. </method>
  4612. <method name="get" c:identifier="g_object_get" introspectable="0">
  4613. <doc xml:space="preserve">Gets properties of an object.
  4614. In general, a copy is made of the property contents and the caller
  4615. is responsible for freeing the memory in the appropriate manner for
  4616. the type, for instance by calling g_free() or g_object_unref().
  4617. Here is an example of using g_object_get() to get the contents
  4618. of three properties: an integer, a string and an object:
  4619. |[&lt;!-- language="C" --&gt;
  4620. gint intval;
  4621. gchar *strval;
  4622. GObject *objval;
  4623. g_object_get (my_object,
  4624. "int-property", &amp;intval,
  4625. "str-property", &amp;strval,
  4626. "obj-property", &amp;objval,
  4627. NULL);
  4628. // Do something with intval, strval, objval
  4629. g_free (strval);
  4630. g_object_unref (objval);
  4631. ]|</doc>
  4632. <return-value transfer-ownership="none">
  4633. <type name="none" c:type="void"/>
  4634. </return-value>
  4635. <parameters>
  4636. <instance-parameter name="object" transfer-ownership="none">
  4637. <doc xml:space="preserve">a #GObject</doc>
  4638. <type name="Object" c:type="gpointer"/>
  4639. </instance-parameter>
  4640. <parameter name="first_property_name" transfer-ownership="none">
  4641. <doc xml:space="preserve">name of the first property to get</doc>
  4642. <type name="utf8" c:type="const gchar*"/>
  4643. </parameter>
  4644. <parameter name="..." transfer-ownership="none">
  4645. <doc xml:space="preserve">return location for the first property, followed optionally by more
  4646. name/return location pairs, followed by %NULL</doc>
  4647. <varargs/>
  4648. </parameter>
  4649. </parameters>
  4650. </method>
  4651. <method name="get_data" c:identifier="g_object_get_data">
  4652. <doc xml:space="preserve">Gets a named field from the objects table of associations (see g_object_set_data()).</doc>
  4653. <return-value transfer-ownership="none" nullable="1">
  4654. <doc xml:space="preserve">the data if found, or %NULL if no such data exists.</doc>
  4655. <type name="gpointer" c:type="gpointer"/>
  4656. </return-value>
  4657. <parameters>
  4658. <instance-parameter name="object" transfer-ownership="none">
  4659. <doc xml:space="preserve">#GObject containing the associations</doc>
  4660. <type name="Object" c:type="GObject*"/>
  4661. </instance-parameter>
  4662. <parameter name="key" transfer-ownership="none">
  4663. <doc xml:space="preserve">name of the key for that association</doc>
  4664. <type name="utf8" c:type="const gchar*"/>
  4665. </parameter>
  4666. </parameters>
  4667. </method>
  4668. <method name="get_property" c:identifier="g_object_get_property">
  4669. <doc xml:space="preserve">Gets a property of an object. @value must have been initialized to the
  4670. expected type of the property (or a type to which the expected type can be
  4671. transformed) using g_value_init().
  4672. In general, a copy is made of the property contents and the caller is
  4673. responsible for freeing the memory by calling g_value_unset().
  4674. Note that g_object_get_property() is really intended for language
  4675. bindings, g_object_get() is much more convenient for C programming.</doc>
  4676. <return-value transfer-ownership="none">
  4677. <type name="none" c:type="void"/>
  4678. </return-value>
  4679. <parameters>
  4680. <instance-parameter name="object" transfer-ownership="none">
  4681. <doc xml:space="preserve">a #GObject</doc>
  4682. <type name="Object" c:type="GObject*"/>
  4683. </instance-parameter>
  4684. <parameter name="property_name" transfer-ownership="none">
  4685. <doc xml:space="preserve">the name of the property to get</doc>
  4686. <type name="utf8" c:type="const gchar*"/>
  4687. </parameter>
  4688. <parameter name="value" transfer-ownership="none">
  4689. <doc xml:space="preserve">return location for the property value</doc>
  4690. <type name="Value" c:type="GValue*"/>
  4691. </parameter>
  4692. </parameters>
  4693. </method>
  4694. <method name="get_qdata" c:identifier="g_object_get_qdata">
  4695. <doc xml:space="preserve">This function gets back user data pointers stored via
  4696. g_object_set_qdata().</doc>
  4697. <return-value transfer-ownership="none" nullable="1">
  4698. <doc xml:space="preserve">The user data pointer set, or %NULL</doc>
  4699. <type name="gpointer" c:type="gpointer"/>
  4700. </return-value>
  4701. <parameters>
  4702. <instance-parameter name="object" transfer-ownership="none">
  4703. <doc xml:space="preserve">The GObject to get a stored user data pointer from</doc>
  4704. <type name="Object" c:type="GObject*"/>
  4705. </instance-parameter>
  4706. <parameter name="quark" transfer-ownership="none">
  4707. <doc xml:space="preserve">A #GQuark, naming the user data pointer</doc>
  4708. <type name="GLib.Quark" c:type="GQuark"/>
  4709. </parameter>
  4710. </parameters>
  4711. </method>
  4712. <method name="get_valist"
  4713. c:identifier="g_object_get_valist"
  4714. introspectable="0">
  4715. <doc xml:space="preserve">Gets properties of an object.
  4716. In general, a copy is made of the property contents and the caller
  4717. is responsible for freeing the memory in the appropriate manner for
  4718. the type, for instance by calling g_free() or g_object_unref().
  4719. See g_object_get().</doc>
  4720. <return-value transfer-ownership="none">
  4721. <type name="none" c:type="void"/>
  4722. </return-value>
  4723. <parameters>
  4724. <instance-parameter name="object" transfer-ownership="none">
  4725. <doc xml:space="preserve">a #GObject</doc>
  4726. <type name="Object" c:type="GObject*"/>
  4727. </instance-parameter>
  4728. <parameter name="first_property_name" transfer-ownership="none">
  4729. <doc xml:space="preserve">name of the first property to get</doc>
  4730. <type name="utf8" c:type="const gchar*"/>
  4731. </parameter>
  4732. <parameter name="var_args" transfer-ownership="none">
  4733. <doc xml:space="preserve">return location for the first property, followed optionally by more
  4734. name/return location pairs, followed by %NULL</doc>
  4735. <type name="va_list" c:type="va_list"/>
  4736. </parameter>
  4737. </parameters>
  4738. </method>
  4739. <method name="is_floating"
  4740. c:identifier="g_object_is_floating"
  4741. version="2.10">
  4742. <doc xml:space="preserve">Checks whether @object has a [floating][floating-ref] reference.</doc>
  4743. <return-value transfer-ownership="none">
  4744. <doc xml:space="preserve">%TRUE if @object has a floating reference</doc>
  4745. <type name="gboolean" c:type="gboolean"/>
  4746. </return-value>
  4747. <parameters>
  4748. <instance-parameter name="object" transfer-ownership="none">
  4749. <doc xml:space="preserve">a #GObject</doc>
  4750. <type name="Object" c:type="gpointer"/>
  4751. </instance-parameter>
  4752. </parameters>
  4753. </method>
  4754. <method name="notify" c:identifier="g_object_notify">
  4755. <doc xml:space="preserve">Emits a "notify" signal for the property @property_name on @object.
  4756. When possible, eg. when signaling a property change from within the class
  4757. that registered the property, you should use g_object_notify_by_pspec()
  4758. instead.
  4759. Note that emission of the notify signal may be blocked with
  4760. g_object_freeze_notify(). In this case, the signal emissions are queued
  4761. and will be emitted (in reverse order) when g_object_thaw_notify() is
  4762. called.</doc>
  4763. <return-value transfer-ownership="none">
  4764. <type name="none" c:type="void"/>
  4765. </return-value>
  4766. <parameters>
  4767. <instance-parameter name="object" transfer-ownership="none">
  4768. <doc xml:space="preserve">a #GObject</doc>
  4769. <type name="Object" c:type="GObject*"/>
  4770. </instance-parameter>
  4771. <parameter name="property_name" transfer-ownership="none">
  4772. <doc xml:space="preserve">the name of a property installed on the class of @object.</doc>
  4773. <type name="utf8" c:type="const gchar*"/>
  4774. </parameter>
  4775. </parameters>
  4776. </method>
  4777. <method name="notify_by_pspec"
  4778. c:identifier="g_object_notify_by_pspec"
  4779. version="2.26">
  4780. <doc xml:space="preserve">Emits a "notify" signal for the property specified by @pspec on @object.
  4781. This function omits the property name lookup, hence it is faster than
  4782. g_object_notify().
  4783. One way to avoid using g_object_notify() from within the
  4784. class that registered the properties, and using g_object_notify_by_pspec()
  4785. instead, is to store the GParamSpec used with
  4786. g_object_class_install_property() inside a static array, e.g.:
  4787. |[&lt;!-- language="C" --&gt;
  4788. enum
  4789. {
  4790. PROP_0,
  4791. PROP_FOO,
  4792. PROP_LAST
  4793. };
  4794. static GParamSpec *properties[PROP_LAST];
  4795. static void
  4796. my_object_class_init (MyObjectClass *klass)
  4797. {
  4798. properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
  4799. 0, 100,
  4800. 50,
  4801. G_PARAM_READWRITE);
  4802. g_object_class_install_property (gobject_class,
  4803. PROP_FOO,
  4804. properties[PROP_FOO]);
  4805. }
  4806. ]|
  4807. and then notify a change on the "foo" property with:
  4808. |[&lt;!-- language="C" --&gt;
  4809. g_object_notify_by_pspec (self, properties[PROP_FOO]);
  4810. ]|</doc>
  4811. <return-value transfer-ownership="none">
  4812. <type name="none" c:type="void"/>
  4813. </return-value>
  4814. <parameters>
  4815. <instance-parameter name="object" transfer-ownership="none">
  4816. <doc xml:space="preserve">a #GObject</doc>
  4817. <type name="Object" c:type="GObject*"/>
  4818. </instance-parameter>
  4819. <parameter name="pspec" transfer-ownership="none">
  4820. <doc xml:space="preserve">the #GParamSpec of a property installed on the class of @object.</doc>
  4821. <type name="ParamSpec" c:type="GParamSpec*"/>
  4822. </parameter>
  4823. </parameters>
  4824. </method>
  4825. <method name="ref" c:identifier="g_object_ref">
  4826. <doc xml:space="preserve">Increases the reference count of @object.</doc>
  4827. <return-value transfer-ownership="none">
  4828. <doc xml:space="preserve">the same @object</doc>
  4829. <type name="Object" c:type="gpointer"/>
  4830. </return-value>
  4831. <parameters>
  4832. <instance-parameter name="object" transfer-ownership="none">
  4833. <doc xml:space="preserve">a #GObject</doc>
  4834. <type name="Object" c:type="gpointer"/>
  4835. </instance-parameter>
  4836. </parameters>
  4837. </method>
  4838. <method name="ref_sink" c:identifier="g_object_ref_sink" version="2.10">
  4839. <doc xml:space="preserve">Increase the reference count of @object, and possibly remove the
  4840. [floating][floating-ref] reference, if @object has a floating reference.
  4841. In other words, if the object is floating, then this call "assumes
  4842. ownership" of the floating reference, converting it to a normal
  4843. reference by clearing the floating flag while leaving the reference
  4844. count unchanged. If the object is not floating, then this call
  4845. adds a new normal reference increasing the reference count by one.</doc>
  4846. <return-value transfer-ownership="none">
  4847. <doc xml:space="preserve">@object</doc>
  4848. <type name="Object" c:type="gpointer"/>
  4849. </return-value>
  4850. <parameters>
  4851. <instance-parameter name="object" transfer-ownership="none">
  4852. <doc xml:space="preserve">a #GObject</doc>
  4853. <type name="Object" c:type="gpointer"/>
  4854. </instance-parameter>
  4855. </parameters>
  4856. </method>
  4857. <method name="remove_toggle_ref"
  4858. c:identifier="g_object_remove_toggle_ref"
  4859. version="2.8"
  4860. introspectable="0">
  4861. <doc xml:space="preserve">Removes a reference added with g_object_add_toggle_ref(). The
  4862. reference count of the object is decreased by one.</doc>
  4863. <return-value transfer-ownership="none">
  4864. <type name="none" c:type="void"/>
  4865. </return-value>
  4866. <parameters>
  4867. <instance-parameter name="object" transfer-ownership="none">
  4868. <doc xml:space="preserve">a #GObject</doc>
  4869. <type name="Object" c:type="GObject*"/>
  4870. </instance-parameter>
  4871. <parameter name="notify" transfer-ownership="none" closure="1">
  4872. <doc xml:space="preserve">a function to call when this reference is the
  4873. last reference to the object, or is no longer
  4874. the last reference.</doc>
  4875. <type name="ToggleNotify" c:type="GToggleNotify"/>
  4876. </parameter>
  4877. <parameter name="data"
  4878. transfer-ownership="none"
  4879. nullable="1"
  4880. allow-none="1">
  4881. <doc xml:space="preserve">data to pass to @notify</doc>
  4882. <type name="gpointer" c:type="gpointer"/>
  4883. </parameter>
  4884. </parameters>
  4885. </method>
  4886. <method name="remove_weak_pointer"
  4887. c:identifier="g_object_remove_weak_pointer"
  4888. introspectable="0">
  4889. <doc xml:space="preserve">Removes a weak reference from @object that was previously added
  4890. using g_object_add_weak_pointer(). The @weak_pointer_location has
  4891. to match the one used with g_object_add_weak_pointer().</doc>
  4892. <return-value transfer-ownership="none">
  4893. <type name="none" c:type="void"/>
  4894. </return-value>
  4895. <parameters>
  4896. <instance-parameter name="object" transfer-ownership="none">
  4897. <doc xml:space="preserve">The object that is weak referenced.</doc>
  4898. <type name="Object" c:type="GObject*"/>
  4899. </instance-parameter>
  4900. <parameter name="weak_pointer_location"
  4901. direction="inout"
  4902. caller-allocates="0"
  4903. transfer-ownership="full">
  4904. <doc xml:space="preserve">The memory address
  4905. of a pointer.</doc>
  4906. <type name="gpointer" c:type="gpointer*"/>
  4907. </parameter>
  4908. </parameters>
  4909. </method>
  4910. <method name="replace_data"
  4911. c:identifier="g_object_replace_data"
  4912. version="2.34">
  4913. <doc xml:space="preserve">Compares the user data for the key @key on @object with
  4914. @oldval, and if they are the same, replaces @oldval with
  4915. @newval.
  4916. This is like a typical atomic compare-and-exchange
  4917. operation, for user data on an object.
  4918. If the previous value was replaced then ownership of the
  4919. old value (@oldval) is passed to the caller, including
  4920. the registered destroy notify for it (passed out in @old_destroy).
  4921. Its up to the caller to free this as he wishes, which may
  4922. or may not include using @old_destroy as sometimes replacement
  4923. should not destroy the object in the normal way.</doc>
  4924. <return-value transfer-ownership="none">
  4925. <doc xml:space="preserve">%TRUE if the existing value for @key was replaced
  4926. by @newval, %FALSE otherwise.</doc>
  4927. <type name="gboolean" c:type="gboolean"/>
  4928. </return-value>
  4929. <parameters>
  4930. <instance-parameter name="object" transfer-ownership="none">
  4931. <doc xml:space="preserve">the #GObject to store user data on</doc>
  4932. <type name="Object" c:type="GObject*"/>
  4933. </instance-parameter>
  4934. <parameter name="key" transfer-ownership="none">
  4935. <doc xml:space="preserve">a string, naming the user data pointer</doc>
  4936. <type name="utf8" c:type="const gchar*"/>
  4937. </parameter>
  4938. <parameter name="oldval"
  4939. transfer-ownership="none"
  4940. nullable="1"
  4941. allow-none="1">
  4942. <doc xml:space="preserve">the old value to compare against</doc>
  4943. <type name="gpointer" c:type="gpointer"/>
  4944. </parameter>
  4945. <parameter name="newval"
  4946. transfer-ownership="none"
  4947. nullable="1"
  4948. allow-none="1">
  4949. <doc xml:space="preserve">the new value</doc>
  4950. <type name="gpointer" c:type="gpointer"/>
  4951. </parameter>
  4952. <parameter name="destroy"
  4953. transfer-ownership="none"
  4954. nullable="1"
  4955. allow-none="1"
  4956. scope="async">
  4957. <doc xml:space="preserve">a destroy notify for the new value</doc>
  4958. <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
  4959. </parameter>
  4960. <parameter name="old_destroy"
  4961. transfer-ownership="none"
  4962. nullable="1"
  4963. allow-none="1"
  4964. scope="async">
  4965. <doc xml:space="preserve">destroy notify for the existing value</doc>
  4966. <type name="GLib.DestroyNotify" c:type="GDestroyNotify*"/>
  4967. </parameter>
  4968. </parameters>
  4969. </method>
  4970. <method name="replace_qdata"
  4971. c:identifier="g_object_replace_qdata"
  4972. version="2.34">
  4973. <doc xml:space="preserve">Compares the user data for the key @quark on @object with
  4974. @oldval, and if they are the same, replaces @oldval with
  4975. @newval.
  4976. This is like a typical atomic compare-and-exchange
  4977. operation, for user data on an object.
  4978. If the previous value was replaced then ownership of the
  4979. old value (@oldval) is passed to the caller, including
  4980. the registered destroy notify for it (passed out in @old_destroy).
  4981. Its up to the caller to free this as he wishes, which may
  4982. or may not include using @old_destroy as sometimes replacement
  4983. should not destroy the object in the normal way.</doc>
  4984. <return-value transfer-ownership="none">
  4985. <doc xml:space="preserve">%TRUE if the existing value for @quark was replaced
  4986. by @newval, %FALSE otherwise.</doc>
  4987. <type name="gboolean" c:type="gboolean"/>
  4988. </return-value>
  4989. <parameters>
  4990. <instance-parameter name="object" transfer-ownership="none">
  4991. <doc xml:space="preserve">the #GObject to store user data on</doc>
  4992. <type name="Object" c:type="GObject*"/>
  4993. </instance-parameter>
  4994. <parameter name="quark" transfer-ownership="none">
  4995. <doc xml:space="preserve">a #GQuark, naming the user data pointer</doc>
  4996. <type name="GLib.Quark" c:type="GQuark"/>
  4997. </parameter>
  4998. <parameter name="oldval"
  4999. transfer-ownership="none"
  5000. nullable="1"
  5001. allow-none="1">
  5002. <doc xml:space="preserve">the old value to compare against</doc>
  5003. <type name="gpointer" c:type="gpointer"/>
  5004. </parameter>
  5005. <parameter name="newval"
  5006. transfer-ownership="none"
  5007. nullable="1"
  5008. allow-none="1">
  5009. <doc xml:space="preserve">the new value</doc>
  5010. <type name="gpointer" c:type="gpointer"/>
  5011. </parameter>
  5012. <parameter name="destroy"
  5013. transfer-ownership="none"
  5014. nullable="1"
  5015. allow-none="1"
  5016. scope="async">
  5017. <doc xml:space="preserve">a destroy notify for the new value</doc>
  5018. <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
  5019. </parameter>
  5020. <parameter name="old_destroy"
  5021. transfer-ownership="none"
  5022. nullable="1"
  5023. allow-none="1"
  5024. scope="async">
  5025. <doc xml:space="preserve">destroy notify for the existing value</doc>
  5026. <type name="GLib.DestroyNotify" c:type="GDestroyNotify*"/>
  5027. </parameter>
  5028. </parameters>
  5029. </method>
  5030. <method name="run_dispose" c:identifier="g_object_run_dispose">
  5031. <doc xml:space="preserve">Releases all references to other objects. This can be used to break
  5032. reference cycles.
  5033. This function should only be called from object system implementations.</doc>
  5034. <return-value transfer-ownership="none">
  5035. <type name="none" c:type="void"/>
  5036. </return-value>
  5037. <parameters>
  5038. <instance-parameter name="object" transfer-ownership="none">
  5039. <doc xml:space="preserve">a #GObject</doc>
  5040. <type name="Object" c:type="GObject*"/>
  5041. </instance-parameter>
  5042. </parameters>
  5043. </method>
  5044. <method name="set" c:identifier="g_object_set" introspectable="0">
  5045. <doc xml:space="preserve">Sets properties on an object.
  5046. Note that the "notify" signals are queued and only emitted (in
  5047. reverse order) after all properties have been set. See
  5048. g_object_freeze_notify().</doc>
  5049. <return-value transfer-ownership="none">
  5050. <type name="none" c:type="void"/>
  5051. </return-value>
  5052. <parameters>
  5053. <instance-parameter name="object" transfer-ownership="none">
  5054. <doc xml:space="preserve">a #GObject</doc>
  5055. <type name="Object" c:type="gpointer"/>
  5056. </instance-parameter>
  5057. <parameter name="first_property_name" transfer-ownership="none">
  5058. <doc xml:space="preserve">name of the first property to set</doc>
  5059. <type name="utf8" c:type="const gchar*"/>
  5060. </parameter>
  5061. <parameter name="..." transfer-ownership="none">
  5062. <doc xml:space="preserve">value for the first property, followed optionally by more
  5063. name/value pairs, followed by %NULL</doc>
  5064. <varargs/>
  5065. </parameter>
  5066. </parameters>
  5067. </method>
  5068. <method name="set_data" c:identifier="g_object_set_data">
  5069. <doc xml:space="preserve">Each object carries around a table of associations from
  5070. strings to pointers. This function lets you set an association.
  5071. If the object already had an association with that name,
  5072. the old association will be destroyed.</doc>
  5073. <return-value transfer-ownership="none">
  5074. <type name="none" c:type="void"/>
  5075. </return-value>
  5076. <parameters>
  5077. <instance-parameter name="object" transfer-ownership="none">
  5078. <doc xml:space="preserve">#GObject containing the associations.</doc>
  5079. <type name="Object" c:type="GObject*"/>
  5080. </instance-parameter>
  5081. <parameter name="key" transfer-ownership="none">
  5082. <doc xml:space="preserve">name of the key</doc>
  5083. <type name="utf8" c:type="const gchar*"/>
  5084. </parameter>
  5085. <parameter name="data"
  5086. transfer-ownership="none"
  5087. nullable="1"
  5088. allow-none="1">
  5089. <doc xml:space="preserve">data to associate with that key</doc>
  5090. <type name="gpointer" c:type="gpointer"/>
  5091. </parameter>
  5092. </parameters>
  5093. </method>
  5094. <method name="set_data_full"
  5095. c:identifier="g_object_set_data_full"
  5096. introspectable="0">
  5097. <doc xml:space="preserve">Like g_object_set_data() except it adds notification
  5098. for when the association is destroyed, either by setting it
  5099. to a different value or when the object is destroyed.
  5100. Note that the @destroy callback is not called if @data is %NULL.</doc>
  5101. <return-value transfer-ownership="none">
  5102. <type name="none" c:type="void"/>
  5103. </return-value>
  5104. <parameters>
  5105. <instance-parameter name="object" transfer-ownership="none">
  5106. <doc xml:space="preserve">#GObject containing the associations</doc>
  5107. <type name="Object" c:type="GObject*"/>
  5108. </instance-parameter>
  5109. <parameter name="key" transfer-ownership="none">
  5110. <doc xml:space="preserve">name of the key</doc>
  5111. <type name="utf8" c:type="const gchar*"/>
  5112. </parameter>
  5113. <parameter name="data"
  5114. transfer-ownership="none"
  5115. nullable="1"
  5116. allow-none="1">
  5117. <doc xml:space="preserve">data to associate with that key</doc>
  5118. <type name="gpointer" c:type="gpointer"/>
  5119. </parameter>
  5120. <parameter name="destroy" transfer-ownership="none" scope="async">
  5121. <doc xml:space="preserve">function to call when the association is destroyed</doc>
  5122. <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
  5123. </parameter>
  5124. </parameters>
  5125. </method>
  5126. <method name="set_property" c:identifier="g_object_set_property">
  5127. <doc xml:space="preserve">Sets a property on an object.</doc>
  5128. <return-value transfer-ownership="none">
  5129. <type name="none" c:type="void"/>
  5130. </return-value>
  5131. <parameters>
  5132. <instance-parameter name="object" transfer-ownership="none">
  5133. <doc xml:space="preserve">a #GObject</doc>
  5134. <type name="Object" c:type="GObject*"/>
  5135. </instance-parameter>
  5136. <parameter name="property_name" transfer-ownership="none">
  5137. <doc xml:space="preserve">the name of the property to set</doc>
  5138. <type name="utf8" c:type="const gchar*"/>
  5139. </parameter>
  5140. <parameter name="value" transfer-ownership="none">
  5141. <doc xml:space="preserve">the value</doc>
  5142. <type name="Value" c:type="const GValue*"/>
  5143. </parameter>
  5144. </parameters>
  5145. </method>
  5146. <method name="set_qdata"
  5147. c:identifier="g_object_set_qdata"
  5148. introspectable="0">
  5149. <doc xml:space="preserve">This sets an opaque, named pointer on an object.
  5150. The name is specified through a #GQuark (retrived e.g. via
  5151. g_quark_from_static_string()), and the pointer
  5152. can be gotten back from the @object with g_object_get_qdata()
  5153. until the @object is finalized.
  5154. Setting a previously set user data pointer, overrides (frees)
  5155. the old pointer set, using #NULL as pointer essentially
  5156. removes the data stored.</doc>
  5157. <return-value transfer-ownership="none">
  5158. <type name="none" c:type="void"/>
  5159. </return-value>
  5160. <parameters>
  5161. <instance-parameter name="object" transfer-ownership="none">
  5162. <doc xml:space="preserve">The GObject to set store a user data pointer</doc>
  5163. <type name="Object" c:type="GObject*"/>
  5164. </instance-parameter>
  5165. <parameter name="quark" transfer-ownership="none">
  5166. <doc xml:space="preserve">A #GQuark, naming the user data pointer</doc>
  5167. <type name="GLib.Quark" c:type="GQuark"/>
  5168. </parameter>
  5169. <parameter name="data"
  5170. transfer-ownership="none"
  5171. nullable="1"
  5172. allow-none="1">
  5173. <doc xml:space="preserve">An opaque user data pointer</doc>
  5174. <type name="gpointer" c:type="gpointer"/>
  5175. </parameter>
  5176. </parameters>
  5177. </method>
  5178. <method name="set_qdata_full"
  5179. c:identifier="g_object_set_qdata_full"
  5180. introspectable="0">
  5181. <doc xml:space="preserve">This function works like g_object_set_qdata(), but in addition,
  5182. a void (*destroy) (gpointer) function may be specified which is
  5183. called with @data as argument when the @object is finalized, or
  5184. the data is being overwritten by a call to g_object_set_qdata()
  5185. with the same @quark.</doc>
  5186. <return-value transfer-ownership="none">
  5187. <type name="none" c:type="void"/>
  5188. </return-value>
  5189. <parameters>
  5190. <instance-parameter name="object" transfer-ownership="none">
  5191. <doc xml:space="preserve">The GObject to set store a user data pointer</doc>
  5192. <type name="Object" c:type="GObject*"/>
  5193. </instance-parameter>
  5194. <parameter name="quark" transfer-ownership="none">
  5195. <doc xml:space="preserve">A #GQuark, naming the user data pointer</doc>
  5196. <type name="GLib.Quark" c:type="GQuark"/>
  5197. </parameter>
  5198. <parameter name="data"
  5199. transfer-ownership="none"
  5200. nullable="1"
  5201. allow-none="1">
  5202. <doc xml:space="preserve">An opaque user data pointer</doc>
  5203. <type name="gpointer" c:type="gpointer"/>
  5204. </parameter>
  5205. <parameter name="destroy" transfer-ownership="none" scope="async">
  5206. <doc xml:space="preserve">Function to invoke with @data as argument, when @data
  5207. needs to be freed</doc>
  5208. <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
  5209. </parameter>
  5210. </parameters>
  5211. </method>
  5212. <method name="set_valist"
  5213. c:identifier="g_object_set_valist"
  5214. introspectable="0">
  5215. <doc xml:space="preserve">Sets properties on an object.</doc>
  5216. <return-value transfer-ownership="none">
  5217. <type name="none" c:type="void"/>
  5218. </return-value>
  5219. <parameters>
  5220. <instance-parameter name="object" transfer-ownership="none">
  5221. <doc xml:space="preserve">a #GObject</doc>
  5222. <type name="Object" c:type="GObject*"/>
  5223. </instance-parameter>
  5224. <parameter name="first_property_name" transfer-ownership="none">
  5225. <doc xml:space="preserve">name of the first property to set</doc>
  5226. <type name="utf8" c:type="const gchar*"/>
  5227. </parameter>
  5228. <parameter name="var_args" transfer-ownership="none">
  5229. <doc xml:space="preserve">value for the first property, followed optionally by more
  5230. name/value pairs, followed by %NULL</doc>
  5231. <type name="va_list" c:type="va_list"/>
  5232. </parameter>
  5233. </parameters>
  5234. </method>
  5235. <method name="steal_data" c:identifier="g_object_steal_data">
  5236. <doc xml:space="preserve">Remove a specified datum from the object's data associations,
  5237. without invoking the association's destroy handler.</doc>
  5238. <return-value transfer-ownership="full" nullable="1">
  5239. <doc xml:space="preserve">the data if found, or %NULL if no such data exists.</doc>
  5240. <type name="gpointer" c:type="gpointer"/>
  5241. </return-value>
  5242. <parameters>
  5243. <instance-parameter name="object" transfer-ownership="none">
  5244. <doc xml:space="preserve">#GObject containing the associations</doc>
  5245. <type name="Object" c:type="GObject*"/>
  5246. </instance-parameter>
  5247. <parameter name="key" transfer-ownership="none">
  5248. <doc xml:space="preserve">name of the key</doc>
  5249. <type name="utf8" c:type="const gchar*"/>
  5250. </parameter>
  5251. </parameters>
  5252. </method>
  5253. <method name="steal_qdata" c:identifier="g_object_steal_qdata">
  5254. <doc xml:space="preserve">This function gets back user data pointers stored via
  5255. g_object_set_qdata() and removes the @data from object
  5256. without invoking its destroy() function (if any was
  5257. set).
  5258. Usually, calling this function is only required to update
  5259. user data pointers with a destroy notifier, for example:
  5260. |[&lt;!-- language="C" --&gt;
  5261. void
  5262. object_add_to_user_list (GObject *object,
  5263. const gchar *new_string)
  5264. {
  5265. // the quark, naming the object data
  5266. GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
  5267. // retrive the old string list
  5268. GList *list = g_object_steal_qdata (object, quark_string_list);
  5269. // prepend new string
  5270. list = g_list_prepend (list, g_strdup (new_string));
  5271. // this changed 'list', so we need to set it again
  5272. g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
  5273. }
  5274. static void
  5275. free_string_list (gpointer data)
  5276. {
  5277. GList *node, *list = data;
  5278. for (node = list; node; node = node-&gt;next)
  5279. g_free (node-&gt;data);
  5280. g_list_free (list);
  5281. }
  5282. ]|
  5283. Using g_object_get_qdata() in the above example, instead of
  5284. g_object_steal_qdata() would have left the destroy function set,
  5285. and thus the partial string list would have been freed upon
  5286. g_object_set_qdata_full().</doc>
  5287. <return-value transfer-ownership="full" nullable="1">
  5288. <doc xml:space="preserve">The user data pointer set, or %NULL</doc>
  5289. <type name="gpointer" c:type="gpointer"/>
  5290. </return-value>
  5291. <parameters>
  5292. <instance-parameter name="object" transfer-ownership="none">
  5293. <doc xml:space="preserve">The GObject to get a stored user data pointer from</doc>
  5294. <type name="Object" c:type="GObject*"/>
  5295. </instance-parameter>
  5296. <parameter name="quark" transfer-ownership="none">
  5297. <doc xml:space="preserve">A #GQuark, naming the user data pointer</doc>
  5298. <type name="GLib.Quark" c:type="GQuark"/>
  5299. </parameter>
  5300. </parameters>
  5301. </method>
  5302. <method name="thaw_notify" c:identifier="g_object_thaw_notify">
  5303. <doc xml:space="preserve">Reverts the effect of a previous call to
  5304. g_object_freeze_notify(). The freeze count is decreased on @object
  5305. and when it reaches zero, queued "notify" signals are emitted.
  5306. Duplicate notifications for each property are squashed so that at most one
  5307. #GObject::notify signal is emitted for each property, in the reverse order
  5308. in which they have been queued.
  5309. It is an error to call this function when the freeze count is zero.</doc>
  5310. <return-value transfer-ownership="none">
  5311. <type name="none" c:type="void"/>
  5312. </return-value>
  5313. <parameters>
  5314. <instance-parameter name="object" transfer-ownership="none">
  5315. <doc xml:space="preserve">a #GObject</doc>
  5316. <type name="Object" c:type="GObject*"/>
  5317. </instance-parameter>
  5318. </parameters>
  5319. </method>
  5320. <method name="unref" c:identifier="g_object_unref">
  5321. <doc xml:space="preserve">Decreases the reference count of @object. When its reference count
  5322. drops to 0, the object is finalized (i.e. its memory is freed).
  5323. If the pointer to the #GObject may be reused in future (for example, if it is
  5324. an instance variable of another object), it is recommended to clear the
  5325. pointer to %NULL rather than retain a dangling pointer to a potentially
  5326. invalid #GObject instance. Use g_clear_object() for this.</doc>
  5327. <return-value transfer-ownership="none">
  5328. <type name="none" c:type="void"/>
  5329. </return-value>
  5330. <parameters>
  5331. <instance-parameter name="object" transfer-ownership="none">
  5332. <doc xml:space="preserve">a #GObject</doc>
  5333. <type name="Object" c:type="gpointer"/>
  5334. </instance-parameter>
  5335. </parameters>
  5336. </method>
  5337. <method name="watch_closure" c:identifier="g_object_watch_closure">
  5338. <doc xml:space="preserve">This function essentially limits the life time of the @closure to
  5339. the life time of the object. That is, when the object is finalized,
  5340. the @closure is invalidated by calling g_closure_invalidate() on
  5341. it, in order to prevent invocations of the closure with a finalized
  5342. (nonexisting) object. Also, g_object_ref() and g_object_unref() are
  5343. added as marshal guards to the @closure, to ensure that an extra
  5344. reference count is held on @object during invocation of the
  5345. @closure. Usually, this function will be called on closures that
  5346. use this @object as closure data.</doc>
  5347. <return-value transfer-ownership="none">
  5348. <type name="none" c:type="void"/>
  5349. </return-value>
  5350. <parameters>
  5351. <instance-parameter name="object" transfer-ownership="none">
  5352. <doc xml:space="preserve">GObject restricting lifetime of @closure</doc>
  5353. <type name="Object" c:type="GObject*"/>
  5354. </instance-parameter>
  5355. <parameter name="closure" transfer-ownership="none">
  5356. <doc xml:space="preserve">GClosure to watch</doc>
  5357. <type name="Closure" c:type="GClosure*"/>
  5358. </parameter>
  5359. </parameters>
  5360. </method>
  5361. <method name="weak_ref"
  5362. c:identifier="g_object_weak_ref"
  5363. introspectable="0">
  5364. <doc xml:space="preserve">Adds a weak reference callback to an object. Weak references are
  5365. used for notification when an object is finalized. They are called
  5366. "weak references" because they allow you to safely hold a pointer
  5367. to an object without calling g_object_ref() (g_object_ref() adds a
  5368. strong reference, that is, forces the object to stay alive).
  5369. Note that the weak references created by this method are not
  5370. thread-safe: they cannot safely be used in one thread if the
  5371. object's last g_object_unref() might happen in another thread.
  5372. Use #GWeakRef if thread-safety is required.</doc>
  5373. <return-value transfer-ownership="none">
  5374. <type name="none" c:type="void"/>
  5375. </return-value>
  5376. <parameters>
  5377. <instance-parameter name="object" transfer-ownership="none">
  5378. <doc xml:space="preserve">#GObject to reference weakly</doc>
  5379. <type name="Object" c:type="GObject*"/>
  5380. </instance-parameter>
  5381. <parameter name="notify" transfer-ownership="none" closure="1">
  5382. <doc xml:space="preserve">callback to invoke before the object is freed</doc>
  5383. <type name="WeakNotify" c:type="GWeakNotify"/>
  5384. </parameter>
  5385. <parameter name="data"
  5386. transfer-ownership="none"
  5387. nullable="1"
  5388. allow-none="1">
  5389. <doc xml:space="preserve">extra data to pass to notify</doc>
  5390. <type name="gpointer" c:type="gpointer"/>
  5391. </parameter>
  5392. </parameters>
  5393. </method>
  5394. <method name="weak_unref"
  5395. c:identifier="g_object_weak_unref"
  5396. introspectable="0">
  5397. <doc xml:space="preserve">Removes a weak reference callback to an object.</doc>
  5398. <return-value transfer-ownership="none">
  5399. <type name="none" c:type="void"/>
  5400. </return-value>
  5401. <parameters>
  5402. <instance-parameter name="object" transfer-ownership="none">
  5403. <doc xml:space="preserve">#GObject to remove a weak reference from</doc>
  5404. <type name="Object" c:type="GObject*"/>
  5405. </instance-parameter>
  5406. <parameter name="notify" transfer-ownership="none" closure="1">
  5407. <doc xml:space="preserve">callback to search for</doc>
  5408. <type name="WeakNotify" c:type="GWeakNotify"/>
  5409. </parameter>
  5410. <parameter name="data"
  5411. transfer-ownership="none"
  5412. nullable="1"
  5413. allow-none="1">
  5414. <doc xml:space="preserve">data to search for</doc>
  5415. <type name="gpointer" c:type="gpointer"/>
  5416. </parameter>
  5417. </parameters>
  5418. </method>
  5419. <field name="g_type_instance">
  5420. <type name="TypeInstance" c:type="GTypeInstance"/>
  5421. </field>
  5422. <field name="ref_count" readable="0" private="1">
  5423. <type name="guint" c:type="volatile guint"/>
  5424. </field>
  5425. <field name="qdata" readable="0" private="1">
  5426. <type name="GLib.Data" c:type="GData*"/>
  5427. </field>
  5428. <glib:signal name="notify"
  5429. when="first"
  5430. no-recurse="1"
  5431. detailed="1"
  5432. action="1"
  5433. no-hooks="1">
  5434. <doc xml:space="preserve">The notify signal is emitted on an object when one of its
  5435. properties has been changed. Note that getting this signal
  5436. doesn't guarantee that the value of the property has actually
  5437. changed, it may also be emitted when the setter for the property
  5438. is called to reinstate the previous value.
  5439. This signal is typically used to obtain change notification for a
  5440. single property, by specifying the property name as a detail in the
  5441. g_signal_connect() call, like this:
  5442. |[&lt;!-- language="C" --&gt;
  5443. g_signal_connect (text_view-&gt;buffer, "notify::paste-target-list",
  5444. G_CALLBACK (gtk_text_view_target_list_notify),
  5445. text_view)
  5446. ]|
  5447. It is important to note that you must use
  5448. [canonical][canonical-parameter-name] parameter names as
  5449. detail strings for the notify signal.</doc>
  5450. <return-value transfer-ownership="none">
  5451. <type name="none" c:type="void"/>
  5452. </return-value>
  5453. <parameters>
  5454. <parameter name="pspec" transfer-ownership="none">
  5455. <doc xml:space="preserve">the #GParamSpec of the property which changed.</doc>
  5456. <type name="ParamSpec"/>
  5457. </parameter>
  5458. </parameters>
  5459. </glib:signal>
  5460. </class>
  5461. <record name="ObjectClass"
  5462. c:type="GObjectClass"
  5463. glib:is-gtype-struct-for="Object">
  5464. <doc xml:space="preserve">The class structure for the GObject type.
  5465. &lt;example&gt;
  5466. &lt;title&gt;Implementing singletons using a constructor&lt;/title&gt;
  5467. &lt;programlisting&gt;
  5468. static MySingleton *the_singleton = NULL;
  5469. static GObject*
  5470. my_singleton_constructor (GType type,
  5471. guint n_construct_params,
  5472. GObjectConstructParam *construct_params)
  5473. {
  5474. GObject *object;
  5475. if (!the_singleton)
  5476. {
  5477. object = G_OBJECT_CLASS (parent_class)-&gt;constructor (type,
  5478. n_construct_params,
  5479. construct_params);
  5480. the_singleton = MY_SINGLETON (object);
  5481. }
  5482. else
  5483. object = g_object_ref (G_OBJECT (the_singleton));
  5484. return object;
  5485. }
  5486. &lt;/programlisting&gt;&lt;/example&gt;</doc>
  5487. <field name="g_type_class">
  5488. <doc xml:space="preserve">the parent class</doc>
  5489. <type name="TypeClass" c:type="GTypeClass"/>
  5490. </field>
  5491. <field name="construct_properties" readable="0" private="1">
  5492. <type name="GLib.SList" c:type="GSList*">
  5493. <type name="gpointer" c:type="gpointer"/>
  5494. </type>
  5495. </field>
  5496. <field name="constructor" introspectable="0">
  5497. <callback name="constructor" introspectable="0">
  5498. <return-value>
  5499. <type name="Object" c:type="GObject*"/>
  5500. </return-value>
  5501. <parameters>
  5502. <parameter name="type" transfer-ownership="none">
  5503. <type name="GType" c:type="GType"/>
  5504. </parameter>
  5505. <parameter name="n_construct_properties" transfer-ownership="none">
  5506. <type name="guint" c:type="guint"/>
  5507. </parameter>
  5508. <parameter name="construct_properties" transfer-ownership="none">
  5509. <type name="ObjectConstructParam"
  5510. c:type="GObjectConstructParam*"/>
  5511. </parameter>
  5512. </parameters>
  5513. </callback>
  5514. </field>
  5515. <field name="set_property">
  5516. <callback name="set_property">
  5517. <return-value transfer-ownership="none">
  5518. <type name="none" c:type="void"/>
  5519. </return-value>
  5520. <parameters>
  5521. <parameter name="object" transfer-ownership="none">
  5522. <type name="Object" c:type="GObject*"/>
  5523. </parameter>
  5524. <parameter name="property_id" transfer-ownership="none">
  5525. <type name="guint" c:type="guint"/>
  5526. </parameter>
  5527. <parameter name="value" transfer-ownership="none">
  5528. <type name="Value" c:type="const GValue*"/>
  5529. </parameter>
  5530. <parameter name="pspec" transfer-ownership="none">
  5531. <type name="ParamSpec" c:type="GParamSpec*"/>
  5532. </parameter>
  5533. </parameters>
  5534. </callback>
  5535. </field>
  5536. <field name="get_property">
  5537. <callback name="get_property">
  5538. <return-value transfer-ownership="none">
  5539. <type name="none" c:type="void"/>
  5540. </return-value>
  5541. <parameters>
  5542. <parameter name="object" transfer-ownership="none">
  5543. <type name="Object" c:type="GObject*"/>
  5544. </parameter>
  5545. <parameter name="property_id" transfer-ownership="none">
  5546. <type name="guint" c:type="guint"/>
  5547. </parameter>
  5548. <parameter name="value" transfer-ownership="none">
  5549. <type name="Value" c:type="GValue*"/>
  5550. </parameter>
  5551. <parameter name="pspec" transfer-ownership="none">
  5552. <type name="ParamSpec" c:type="GParamSpec*"/>
  5553. </parameter>
  5554. </parameters>
  5555. </callback>
  5556. </field>
  5557. <field name="dispose">
  5558. <callback name="dispose">
  5559. <return-value transfer-ownership="none">
  5560. <type name="none" c:type="void"/>
  5561. </return-value>
  5562. <parameters>
  5563. <parameter name="object" transfer-ownership="none">
  5564. <type name="Object" c:type="GObject*"/>
  5565. </parameter>
  5566. </parameters>
  5567. </callback>
  5568. </field>
  5569. <field name="finalize">
  5570. <callback name="finalize">
  5571. <return-value transfer-ownership="none">
  5572. <type name="none" c:type="void"/>
  5573. </return-value>
  5574. <parameters>
  5575. <parameter name="object" transfer-ownership="none">
  5576. <type name="Object" c:type="GObject*"/>
  5577. </parameter>
  5578. </parameters>
  5579. </callback>
  5580. </field>
  5581. <field name="dispatch_properties_changed">
  5582. <callback name="dispatch_properties_changed">
  5583. <return-value transfer-ownership="none">
  5584. <type name="none" c:type="void"/>
  5585. </return-value>
  5586. <parameters>
  5587. <parameter name="object" transfer-ownership="none">
  5588. <type name="Object" c:type="GObject*"/>
  5589. </parameter>
  5590. <parameter name="n_pspecs" transfer-ownership="none">
  5591. <type name="guint" c:type="guint"/>
  5592. </parameter>
  5593. <parameter name="pspecs" transfer-ownership="none">
  5594. <type name="ParamSpec" c:type="GParamSpec**"/>
  5595. </parameter>
  5596. </parameters>
  5597. </callback>
  5598. </field>
  5599. <field name="notify">
  5600. <callback name="notify">
  5601. <return-value transfer-ownership="none">
  5602. <type name="none" c:type="void"/>
  5603. </return-value>
  5604. <parameters>
  5605. <parameter name="object" transfer-ownership="none">
  5606. <doc xml:space="preserve">a #GObject</doc>
  5607. <type name="Object" c:type="GObject*"/>
  5608. </parameter>
  5609. <parameter name="pspec" transfer-ownership="none">
  5610. <type name="ParamSpec" c:type="GParamSpec*"/>
  5611. </parameter>
  5612. </parameters>
  5613. </callback>
  5614. </field>
  5615. <field name="constructed">
  5616. <callback name="constructed">
  5617. <return-value transfer-ownership="none">
  5618. <type name="none" c:type="void"/>
  5619. </return-value>
  5620. <parameters>
  5621. <parameter name="object" transfer-ownership="none">
  5622. <type name="Object" c:type="GObject*"/>
  5623. </parameter>
  5624. </parameters>
  5625. </callback>
  5626. </field>
  5627. <field name="flags" readable="0" private="1">
  5628. <type name="gsize" c:type="gsize"/>
  5629. </field>
  5630. <field name="pdummy" readable="0" private="1">
  5631. <array zero-terminated="0" c:type="gpointer" fixed-size="6">
  5632. <type name="gpointer" c:type="gpointer"/>
  5633. </array>
  5634. </field>
  5635. <method name="find_property" c:identifier="g_object_class_find_property">
  5636. <doc xml:space="preserve">Looks up the #GParamSpec for a property of a class.</doc>
  5637. <return-value transfer-ownership="none">
  5638. <doc xml:space="preserve">the #GParamSpec for the property, or
  5639. %NULL if the class doesn't have a property of that name</doc>
  5640. <type name="ParamSpec" c:type="GParamSpec*"/>
  5641. </return-value>
  5642. <parameters>
  5643. <instance-parameter name="oclass" transfer-ownership="none">
  5644. <doc xml:space="preserve">a #GObjectClass</doc>
  5645. <type name="ObjectClass" c:type="GObjectClass*"/>
  5646. </instance-parameter>
  5647. <parameter name="property_name" transfer-ownership="none">
  5648. <doc xml:space="preserve">the name of the property to look up</doc>
  5649. <type name="utf8" c:type="const gchar*"/>
  5650. </parameter>
  5651. </parameters>
  5652. </method>
  5653. <method name="install_properties"
  5654. c:identifier="g_object_class_install_properties"
  5655. version="2.26">
  5656. <doc xml:space="preserve">Installs new properties from an array of #GParamSpecs.
  5657. All properties should be installed during the class initializer. It
  5658. is possible to install properties after that, but doing so is not
  5659. recommend, and specifically, is not guaranteed to be thread-safe vs.
  5660. use of properties on the same type on other threads.
  5661. The property id of each property is the index of each #GParamSpec in
  5662. the @pspecs array.
  5663. The property id of 0 is treated specially by #GObject and it should not
  5664. be used to store a #GParamSpec.
  5665. This function should be used if you plan to use a static array of
  5666. #GParamSpecs and g_object_notify_by_pspec(). For instance, this
  5667. class initialization:
  5668. |[&lt;!-- language="C" --&gt;
  5669. enum {
  5670. PROP_0, PROP_FOO, PROP_BAR, N_PROPERTIES
  5671. };
  5672. static GParamSpec *obj_properties[N_PROPERTIES] = { NULL, };
  5673. static void
  5674. my_object_class_init (MyObjectClass *klass)
  5675. {
  5676. GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
  5677. obj_properties[PROP_FOO] =
  5678. g_param_spec_int ("foo", "Foo", "Foo",
  5679. -1, G_MAXINT,
  5680. 0,
  5681. G_PARAM_READWRITE);
  5682. obj_properties[PROP_BAR] =
  5683. g_param_spec_string ("bar", "Bar", "Bar",
  5684. NULL,
  5685. G_PARAM_READWRITE);
  5686. gobject_class-&gt;set_property = my_object_set_property;
  5687. gobject_class-&gt;get_property = my_object_get_property;
  5688. g_object_class_install_properties (gobject_class,
  5689. N_PROPERTIES,
  5690. obj_properties);
  5691. }
  5692. ]|
  5693. allows calling g_object_notify_by_pspec() to notify of property changes:
  5694. |[&lt;!-- language="C" --&gt;
  5695. void
  5696. my_object_set_foo (MyObject *self, gint foo)
  5697. {
  5698. if (self-&gt;foo != foo)
  5699. {
  5700. self-&gt;foo = foo;
  5701. g_object_notify_by_pspec (G_OBJECT (self), obj_properties[PROP_FOO]);
  5702. }
  5703. }
  5704. ]|</doc>
  5705. <return-value transfer-ownership="none">
  5706. <type name="none" c:type="void"/>
  5707. </return-value>
  5708. <parameters>
  5709. <instance-parameter name="oclass" transfer-ownership="none">
  5710. <doc xml:space="preserve">a #GObjectClass</doc>
  5711. <type name="ObjectClass" c:type="GObjectClass*"/>
  5712. </instance-parameter>
  5713. <parameter name="n_pspecs" transfer-ownership="none">
  5714. <doc xml:space="preserve">the length of the #GParamSpecs array</doc>
  5715. <type name="guint" c:type="guint"/>
  5716. </parameter>
  5717. <parameter name="pspecs" transfer-ownership="none">
  5718. <doc xml:space="preserve">the #GParamSpecs array
  5719. defining the new properties</doc>
  5720. <array length="0" zero-terminated="0" c:type="GParamSpec**">
  5721. <type name="ParamSpec" c:type="GParamSpec*"/>
  5722. </array>
  5723. </parameter>
  5724. </parameters>
  5725. </method>
  5726. <method name="install_property"
  5727. c:identifier="g_object_class_install_property">
  5728. <doc xml:space="preserve">Installs a new property.
  5729. All properties should be installed during the class initializer. It
  5730. is possible to install properties after that, but doing so is not
  5731. recommend, and specifically, is not guaranteed to be thread-safe vs.
  5732. use of properties on the same type on other threads.
  5733. Note that it is possible to redefine a property in a derived class,
  5734. by installing a property with the same name. This can be useful at times,
  5735. e.g. to change the range of allowed values or the default value.</doc>
  5736. <return-value transfer-ownership="none">
  5737. <type name="none" c:type="void"/>
  5738. </return-value>
  5739. <parameters>
  5740. <instance-parameter name="oclass" transfer-ownership="none">
  5741. <doc xml:space="preserve">a #GObjectClass</doc>
  5742. <type name="ObjectClass" c:type="GObjectClass*"/>
  5743. </instance-parameter>
  5744. <parameter name="property_id" transfer-ownership="none">
  5745. <doc xml:space="preserve">the id for the new property</doc>
  5746. <type name="guint" c:type="guint"/>
  5747. </parameter>
  5748. <parameter name="pspec" transfer-ownership="none">
  5749. <doc xml:space="preserve">the #GParamSpec for the new property</doc>
  5750. <type name="ParamSpec" c:type="GParamSpec*"/>
  5751. </parameter>
  5752. </parameters>
  5753. </method>
  5754. <method name="list_properties"
  5755. c:identifier="g_object_class_list_properties">
  5756. <doc xml:space="preserve">Get an array of #GParamSpec* for all properties of a class.</doc>
  5757. <return-value transfer-ownership="container">
  5758. <doc xml:space="preserve">an array of
  5759. #GParamSpec* which should be freed after use</doc>
  5760. <array length="0" zero-terminated="0" c:type="GParamSpec**">
  5761. <type name="ParamSpec" c:type="GParamSpec*"/>
  5762. </array>
  5763. </return-value>
  5764. <parameters>
  5765. <instance-parameter name="oclass" transfer-ownership="none">
  5766. <doc xml:space="preserve">a #GObjectClass</doc>
  5767. <type name="ObjectClass" c:type="GObjectClass*"/>
  5768. </instance-parameter>
  5769. <parameter name="n_properties"
  5770. direction="out"
  5771. caller-allocates="0"
  5772. transfer-ownership="full">
  5773. <doc xml:space="preserve">return location for the length of the returned array</doc>
  5774. <type name="guint" c:type="guint*"/>
  5775. </parameter>
  5776. </parameters>
  5777. </method>
  5778. <method name="override_property"
  5779. c:identifier="g_object_class_override_property"
  5780. version="2.4">
  5781. <doc xml:space="preserve">Registers @property_id as referring to a property with the name
  5782. @name in a parent class or in an interface implemented by @oclass.
  5783. This allows this class to "override" a property implementation in
  5784. a parent class or to provide the implementation of a property from
  5785. an interface.
  5786. Internally, overriding is implemented by creating a property of type
  5787. #GParamSpecOverride; generally operations that query the properties of
  5788. the object class, such as g_object_class_find_property() or
  5789. g_object_class_list_properties() will return the overridden
  5790. property. However, in one case, the @construct_properties argument of
  5791. the @constructor virtual function, the #GParamSpecOverride is passed
  5792. instead, so that the @param_id field of the #GParamSpec will be
  5793. correct. For virtually all uses, this makes no difference. If you
  5794. need to get the overridden property, you can call
  5795. g_param_spec_get_redirect_target().</doc>
  5796. <return-value transfer-ownership="none">
  5797. <type name="none" c:type="void"/>
  5798. </return-value>
  5799. <parameters>
  5800. <instance-parameter name="oclass" transfer-ownership="none">
  5801. <doc xml:space="preserve">a #GObjectClass</doc>
  5802. <type name="ObjectClass" c:type="GObjectClass*"/>
  5803. </instance-parameter>
  5804. <parameter name="property_id" transfer-ownership="none">
  5805. <doc xml:space="preserve">the new property ID</doc>
  5806. <type name="guint" c:type="guint"/>
  5807. </parameter>
  5808. <parameter name="name" transfer-ownership="none">
  5809. <doc xml:space="preserve">the name of a property registered in a parent class or
  5810. in an interface of this class.</doc>
  5811. <type name="utf8" c:type="const gchar*"/>
  5812. </parameter>
  5813. </parameters>
  5814. </method>
  5815. </record>
  5816. <record name="ObjectConstructParam" c:type="GObjectConstructParam">
  5817. <doc xml:space="preserve">The GObjectConstructParam struct is an auxiliary
  5818. structure used to hand #GParamSpec/#GValue pairs to the @constructor of
  5819. a #GObjectClass.</doc>
  5820. <field name="pspec" writable="1">
  5821. <doc xml:space="preserve">the #GParamSpec of the construct parameter</doc>
  5822. <type name="ParamSpec" c:type="GParamSpec*"/>
  5823. </field>
  5824. <field name="value" writable="1">
  5825. <doc xml:space="preserve">the value to set the parameter to</doc>
  5826. <type name="Value" c:type="GValue*"/>
  5827. </field>
  5828. </record>
  5829. <callback name="ObjectFinalizeFunc" c:type="GObjectFinalizeFunc">
  5830. <doc xml:space="preserve">The type of the @finalize function of #GObjectClass.</doc>
  5831. <return-value transfer-ownership="none">
  5832. <type name="none" c:type="void"/>
  5833. </return-value>
  5834. <parameters>
  5835. <parameter name="object" transfer-ownership="none">
  5836. <doc xml:space="preserve">the #GObject being finalized</doc>
  5837. <type name="Object" c:type="GObject*"/>
  5838. </parameter>
  5839. </parameters>
  5840. </callback>
  5841. <callback name="ObjectGetPropertyFunc" c:type="GObjectGetPropertyFunc">
  5842. <doc xml:space="preserve">The type of the @get_property function of #GObjectClass.</doc>
  5843. <return-value transfer-ownership="none">
  5844. <type name="none" c:type="void"/>
  5845. </return-value>
  5846. <parameters>
  5847. <parameter name="object" transfer-ownership="none">
  5848. <doc xml:space="preserve">a #GObject</doc>
  5849. <type name="Object" c:type="GObject*"/>
  5850. </parameter>
  5851. <parameter name="property_id" transfer-ownership="none">
  5852. <doc xml:space="preserve">the numeric id under which the property was registered with
  5853. g_object_class_install_property().</doc>
  5854. <type name="guint" c:type="guint"/>
  5855. </parameter>
  5856. <parameter name="value" transfer-ownership="none">
  5857. <doc xml:space="preserve">a #GValue to return the property value in</doc>
  5858. <type name="Value" c:type="GValue*"/>
  5859. </parameter>
  5860. <parameter name="pspec" transfer-ownership="none">
  5861. <doc xml:space="preserve">the #GParamSpec describing the property</doc>
  5862. <type name="ParamSpec" c:type="GParamSpec*"/>
  5863. </parameter>
  5864. </parameters>
  5865. </callback>
  5866. <callback name="ObjectSetPropertyFunc" c:type="GObjectSetPropertyFunc">
  5867. <doc xml:space="preserve">The type of the @set_property function of #GObjectClass.</doc>
  5868. <return-value transfer-ownership="none">
  5869. <type name="none" c:type="void"/>
  5870. </return-value>
  5871. <parameters>
  5872. <parameter name="object" transfer-ownership="none">
  5873. <doc xml:space="preserve">a #GObject</doc>
  5874. <type name="Object" c:type="GObject*"/>
  5875. </parameter>
  5876. <parameter name="property_id" transfer-ownership="none">
  5877. <doc xml:space="preserve">the numeric id under which the property was registered with
  5878. g_object_class_install_property().</doc>
  5879. <type name="guint" c:type="guint"/>
  5880. </parameter>
  5881. <parameter name="value" transfer-ownership="none">
  5882. <doc xml:space="preserve">the new value for the property</doc>
  5883. <type name="Value" c:type="const GValue*"/>
  5884. </parameter>
  5885. <parameter name="pspec" transfer-ownership="none">
  5886. <doc xml:space="preserve">the #GParamSpec describing the property</doc>
  5887. <type name="ParamSpec" c:type="GParamSpec*"/>
  5888. </parameter>
  5889. </parameters>
  5890. </callback>
  5891. <constant name="PARAM_MASK" value="255" c:type="G_PARAM_MASK">
  5892. <doc xml:space="preserve">Mask containing the bits of #GParamSpec.flags which are reserved for GLib.</doc>
  5893. <type name="gint" c:type="gint"/>
  5894. </constant>
  5895. <constant name="PARAM_STATIC_STRINGS"
  5896. value="0"
  5897. c:type="G_PARAM_STATIC_STRINGS">
  5898. <doc xml:space="preserve">#GParamFlags value alias for %G_PARAM_STATIC_NAME | %G_PARAM_STATIC_NICK | %G_PARAM_STATIC_BLURB.
  5899. Since 2.13.0</doc>
  5900. <type name="gint" c:type="gint"/>
  5901. </constant>
  5902. <constant name="PARAM_USER_SHIFT" value="8" c:type="G_PARAM_USER_SHIFT">
  5903. <doc xml:space="preserve">Minimum shift count to be used for user defined flags, to be stored in
  5904. #GParamSpec.flags. The maximum allowed is 10.</doc>
  5905. <type name="gint" c:type="gint"/>
  5906. </constant>
  5907. <bitfield name="ParamFlags" c:type="GParamFlags">
  5908. <doc xml:space="preserve">Through the #GParamFlags flag values, certain aspects of parameters
  5909. can be configured. See also #G_PARAM_STATIC_STRINGS.</doc>
  5910. <member name="readable" value="1" c:identifier="G_PARAM_READABLE">
  5911. <doc xml:space="preserve">the parameter is readable</doc>
  5912. </member>
  5913. <member name="writable" value="2" c:identifier="G_PARAM_WRITABLE">
  5914. <doc xml:space="preserve">the parameter is writable</doc>
  5915. </member>
  5916. <member name="readwrite" value="3" c:identifier="G_PARAM_READWRITE">
  5917. <doc xml:space="preserve">alias for %G_PARAM_READABLE | %G_PARAM_WRITABLE</doc>
  5918. </member>
  5919. <member name="construct" value="4" c:identifier="G_PARAM_CONSTRUCT">
  5920. <doc xml:space="preserve">the parameter will be set upon object construction</doc>
  5921. </member>
  5922. <member name="construct_only"
  5923. value="8"
  5924. c:identifier="G_PARAM_CONSTRUCT_ONLY">
  5925. <doc xml:space="preserve">the parameter can only be set upon object construction</doc>
  5926. </member>
  5927. <member name="lax_validation"
  5928. value="16"
  5929. c:identifier="G_PARAM_LAX_VALIDATION">
  5930. <doc xml:space="preserve">upon parameter conversion (see g_param_value_convert())
  5931. strict validation is not required</doc>
  5932. </member>
  5933. <member name="static_name" value="32" c:identifier="G_PARAM_STATIC_NAME">
  5934. <doc xml:space="preserve">the string used as name when constructing the
  5935. parameter is guaranteed to remain valid and
  5936. unmodified for the lifetime of the parameter.
  5937. Since 2.8</doc>
  5938. </member>
  5939. <member name="private" value="32" c:identifier="G_PARAM_PRIVATE">
  5940. <doc xml:space="preserve">internal</doc>
  5941. </member>
  5942. <member name="static_nick" value="64" c:identifier="G_PARAM_STATIC_NICK">
  5943. <doc xml:space="preserve">the string used as nick when constructing the
  5944. parameter is guaranteed to remain valid and
  5945. unmmodified for the lifetime of the parameter.
  5946. Since 2.8</doc>
  5947. </member>
  5948. <member name="static_blurb"
  5949. value="128"
  5950. c:identifier="G_PARAM_STATIC_BLURB">
  5951. <doc xml:space="preserve">the string used as blurb when constructing the
  5952. parameter is guaranteed to remain valid and
  5953. unmodified for the lifetime of the parameter.
  5954. Since 2.8</doc>
  5955. </member>
  5956. <member name="explicit_notify"
  5957. value="1073741824"
  5958. c:identifier="G_PARAM_EXPLICIT_NOTIFY">
  5959. <doc xml:space="preserve">calls to g_object_set_property() for this
  5960. property will not automatically result in a "notify" signal being
  5961. emitted: the implementation must call g_object_notify() themselves
  5962. in case the property actually changes. Since: 2.42.</doc>
  5963. </member>
  5964. <member name="deprecated"
  5965. value="2147483648"
  5966. c:identifier="G_PARAM_DEPRECATED">
  5967. <doc xml:space="preserve">the parameter is deprecated and will be removed
  5968. in a future version. A warning will be generated if it is used
  5969. while running with G_ENABLE_DIAGNOSTIC=1.
  5970. Since 2.26</doc>
  5971. </member>
  5972. </bitfield>
  5973. <class name="ParamSpec"
  5974. c:symbol-prefix="param_spec"
  5975. c:type="GParamSpec"
  5976. abstract="1"
  5977. glib:type-name="GParam"
  5978. glib:get-type="intern"
  5979. glib:type-struct="ParamSpecClass"
  5980. glib:fundamental="1"
  5981. glib:ref-func="g_param_spec_ref_sink"
  5982. glib:unref-func="g_param_spec_uref"
  5983. glib:set-value-func="g_value_set_param"
  5984. glib:get-value-func="g_value_get_param">
  5985. <doc xml:space="preserve">#GParamSpec is an object structure that encapsulates the metadata
  5986. required to specify parameters, such as e.g. #GObject properties.
  5987. ## Parameter names # {#canonical-parameter-names}
  5988. Parameter names need to start with a letter (a-z or A-Z).
  5989. Subsequent characters can be letters, numbers or a '-'.
  5990. All other characters are replaced by a '-' during construction.
  5991. The result of this replacement is called the canonical name of
  5992. the parameter.</doc>
  5993. <function name="internal"
  5994. c:identifier="g_param_spec_internal"
  5995. introspectable="0">
  5996. <doc xml:space="preserve">Creates a new #GParamSpec instance.
  5997. A property name consists of segments consisting of ASCII letters and
  5998. digits, separated by either the '-' or '_' character. The first
  5999. character of a property name must be a letter. Names which violate these
  6000. rules lead to undefined behaviour.
  6001. When creating and looking up a #GParamSpec, either separator can be
  6002. used, but they cannot be mixed. Using '-' is considerably more
  6003. efficient and in fact required when using property names as detail
  6004. strings for signals.
  6005. Beyond the name, #GParamSpecs have two more descriptive
  6006. strings associated with them, the @nick, which should be suitable
  6007. for use as a label for the property in a property editor, and the
  6008. @blurb, which should be a somewhat longer description, suitable for
  6009. e.g. a tooltip. The @nick and @blurb should ideally be localized.</doc>
  6010. <return-value transfer-ownership="none">
  6011. <doc xml:space="preserve">a newly allocated #GParamSpec instance</doc>
  6012. <type name="ParamSpec" c:type="gpointer"/>
  6013. </return-value>
  6014. <parameters>
  6015. <parameter name="param_type" transfer-ownership="none">
  6016. <doc xml:space="preserve">the #GType for the property; must be derived from #G_TYPE_PARAM</doc>
  6017. <type name="GType" c:type="GType"/>
  6018. </parameter>
  6019. <parameter name="name" transfer-ownership="none">
  6020. <doc xml:space="preserve">the canonical name of the property</doc>
  6021. <type name="utf8" c:type="const gchar*"/>
  6022. </parameter>
  6023. <parameter name="nick" transfer-ownership="none">
  6024. <doc xml:space="preserve">the nickname of the property</doc>
  6025. <type name="utf8" c:type="const gchar*"/>
  6026. </parameter>
  6027. <parameter name="blurb" transfer-ownership="none">
  6028. <doc xml:space="preserve">a short description of the property</doc>
  6029. <type name="utf8" c:type="const gchar*"/>
  6030. </parameter>
  6031. <parameter name="flags" transfer-ownership="none">
  6032. <doc xml:space="preserve">a combination of #GParamFlags</doc>
  6033. <type name="ParamFlags" c:type="GParamFlags"/>
  6034. </parameter>
  6035. </parameters>
  6036. </function>
  6037. <virtual-method name="finalize">
  6038. <return-value transfer-ownership="none">
  6039. <type name="none" c:type="void"/>
  6040. </return-value>
  6041. <parameters>
  6042. <instance-parameter name="pspec" transfer-ownership="none">
  6043. <type name="ParamSpec" c:type="GParamSpec*"/>
  6044. </instance-parameter>
  6045. </parameters>
  6046. </virtual-method>
  6047. <virtual-method name="value_set_default">
  6048. <return-value transfer-ownership="none">
  6049. <type name="none" c:type="void"/>
  6050. </return-value>
  6051. <parameters>
  6052. <instance-parameter name="pspec" transfer-ownership="none">
  6053. <type name="ParamSpec" c:type="GParamSpec*"/>
  6054. </instance-parameter>
  6055. <parameter name="value" transfer-ownership="none">
  6056. <type name="Value" c:type="GValue*"/>
  6057. </parameter>
  6058. </parameters>
  6059. </virtual-method>
  6060. <virtual-method name="value_validate">
  6061. <return-value transfer-ownership="none">
  6062. <type name="gboolean" c:type="gboolean"/>
  6063. </return-value>
  6064. <parameters>
  6065. <instance-parameter name="pspec" transfer-ownership="none">
  6066. <type name="ParamSpec" c:type="GParamSpec*"/>
  6067. </instance-parameter>
  6068. <parameter name="value" transfer-ownership="none">
  6069. <type name="Value" c:type="GValue*"/>
  6070. </parameter>
  6071. </parameters>
  6072. </virtual-method>
  6073. <virtual-method name="values_cmp">
  6074. <return-value transfer-ownership="none">
  6075. <type name="gint" c:type="gint"/>
  6076. </return-value>
  6077. <parameters>
  6078. <instance-parameter name="pspec" transfer-ownership="none">
  6079. <type name="ParamSpec" c:type="GParamSpec*"/>
  6080. </instance-parameter>
  6081. <parameter name="value1" transfer-ownership="none">
  6082. <type name="Value" c:type="const GValue*"/>
  6083. </parameter>
  6084. <parameter name="value2" transfer-ownership="none">
  6085. <type name="Value" c:type="const GValue*"/>
  6086. </parameter>
  6087. </parameters>
  6088. </virtual-method>
  6089. <method name="get_blurb" c:identifier="g_param_spec_get_blurb">
  6090. <doc xml:space="preserve">Get the short description of a #GParamSpec.</doc>
  6091. <return-value transfer-ownership="none">
  6092. <doc xml:space="preserve">the short description of @pspec.</doc>
  6093. <type name="utf8" c:type="const gchar*"/>
  6094. </return-value>
  6095. <parameters>
  6096. <instance-parameter name="pspec" transfer-ownership="none">
  6097. <doc xml:space="preserve">a valid #GParamSpec</doc>
  6098. <type name="ParamSpec" c:type="GParamSpec*"/>
  6099. </instance-parameter>
  6100. </parameters>
  6101. </method>
  6102. <method name="get_default_value"
  6103. c:identifier="g_param_spec_get_default_value"
  6104. version="2.38">
  6105. <doc xml:space="preserve">Gets the default value of @pspec as a pointer to a #GValue.
  6106. The #GValue will remain value for the life of @pspec.</doc>
  6107. <return-value transfer-ownership="none">
  6108. <doc xml:space="preserve">a pointer to a #GValue which must not be modified</doc>
  6109. <type name="Value" c:type="const GValue*"/>
  6110. </return-value>
  6111. <parameters>
  6112. <instance-parameter name="pspec" transfer-ownership="none">
  6113. <doc xml:space="preserve">a #GParamSpec</doc>
  6114. <type name="ParamSpec" c:type="GParamSpec*"/>
  6115. </instance-parameter>
  6116. </parameters>
  6117. </method>
  6118. <method name="get_name" c:identifier="g_param_spec_get_name">
  6119. <doc xml:space="preserve">Get the name of a #GParamSpec.
  6120. The name is always an "interned" string (as per g_intern_string()).
  6121. This allows for pointer-value comparisons.</doc>
  6122. <return-value transfer-ownership="none">
  6123. <doc xml:space="preserve">the name of @pspec.</doc>
  6124. <type name="utf8" c:type="const gchar*"/>
  6125. </return-value>
  6126. <parameters>
  6127. <instance-parameter name="pspec" transfer-ownership="none">
  6128. <doc xml:space="preserve">a valid #GParamSpec</doc>
  6129. <type name="ParamSpec" c:type="GParamSpec*"/>
  6130. </instance-parameter>
  6131. </parameters>
  6132. </method>
  6133. <method name="get_name_quark"
  6134. c:identifier="g_param_spec_get_name_quark"
  6135. version="2.46">
  6136. <doc xml:space="preserve">Gets the GQuark for the name.</doc>
  6137. <return-value transfer-ownership="none">
  6138. <doc xml:space="preserve">the GQuark for @pspec-&gt;name.</doc>
  6139. <type name="GLib.Quark" c:type="GQuark"/>
  6140. </return-value>
  6141. <parameters>
  6142. <instance-parameter name="pspec" transfer-ownership="none">
  6143. <doc xml:space="preserve">a #GParamSpec</doc>
  6144. <type name="ParamSpec" c:type="GParamSpec*"/>
  6145. </instance-parameter>
  6146. </parameters>
  6147. </method>
  6148. <method name="get_nick" c:identifier="g_param_spec_get_nick">
  6149. <doc xml:space="preserve">Get the nickname of a #GParamSpec.</doc>
  6150. <return-value transfer-ownership="none">
  6151. <doc xml:space="preserve">the nickname of @pspec.</doc>
  6152. <type name="utf8" c:type="const gchar*"/>
  6153. </return-value>
  6154. <parameters>
  6155. <instance-parameter name="pspec" transfer-ownership="none">
  6156. <doc xml:space="preserve">a valid #GParamSpec</doc>
  6157. <type name="ParamSpec" c:type="GParamSpec*"/>
  6158. </instance-parameter>
  6159. </parameters>
  6160. </method>
  6161. <method name="get_qdata" c:identifier="g_param_spec_get_qdata">
  6162. <doc xml:space="preserve">Gets back user data pointers stored via g_param_spec_set_qdata().</doc>
  6163. <return-value transfer-ownership="none" nullable="1">
  6164. <doc xml:space="preserve">the user data pointer set, or %NULL</doc>
  6165. <type name="gpointer" c:type="gpointer"/>
  6166. </return-value>
  6167. <parameters>
  6168. <instance-parameter name="pspec" transfer-ownership="none">
  6169. <doc xml:space="preserve">a valid #GParamSpec</doc>
  6170. <type name="ParamSpec" c:type="GParamSpec*"/>
  6171. </instance-parameter>
  6172. <parameter name="quark" transfer-ownership="none">
  6173. <doc xml:space="preserve">a #GQuark, naming the user data pointer</doc>
  6174. <type name="GLib.Quark" c:type="GQuark"/>
  6175. </parameter>
  6176. </parameters>
  6177. </method>
  6178. <method name="get_redirect_target"
  6179. c:identifier="g_param_spec_get_redirect_target"
  6180. version="2.4">
  6181. <doc xml:space="preserve">If the paramspec redirects operations to another paramspec,
  6182. returns that paramspec. Redirect is used typically for
  6183. providing a new implementation of a property in a derived
  6184. type while preserving all the properties from the parent
  6185. type. Redirection is established by creating a property
  6186. of type #GParamSpecOverride. See g_object_class_override_property()
  6187. for an example of the use of this capability.</doc>
  6188. <return-value transfer-ownership="none">
  6189. <doc xml:space="preserve">paramspec to which requests on this
  6190. paramspec should be redirected, or %NULL if none.</doc>
  6191. <type name="ParamSpec" c:type="GParamSpec*"/>
  6192. </return-value>
  6193. <parameters>
  6194. <instance-parameter name="pspec" transfer-ownership="none">
  6195. <doc xml:space="preserve">a #GParamSpec</doc>
  6196. <type name="ParamSpec" c:type="GParamSpec*"/>
  6197. </instance-parameter>
  6198. </parameters>
  6199. </method>
  6200. <method name="ref" c:identifier="g_param_spec_ref" introspectable="0">
  6201. <doc xml:space="preserve">Increments the reference count of @pspec.</doc>
  6202. <return-value>
  6203. <doc xml:space="preserve">the #GParamSpec that was passed into this function</doc>
  6204. <type name="ParamSpec" c:type="GParamSpec*"/>
  6205. </return-value>
  6206. <parameters>
  6207. <instance-parameter name="pspec" transfer-ownership="none">
  6208. <doc xml:space="preserve">a valid #GParamSpec</doc>
  6209. <type name="ParamSpec" c:type="GParamSpec*"/>
  6210. </instance-parameter>
  6211. </parameters>
  6212. </method>
  6213. <method name="ref_sink"
  6214. c:identifier="g_param_spec_ref_sink"
  6215. version="2.10"
  6216. introspectable="0">
  6217. <doc xml:space="preserve">Convenience function to ref and sink a #GParamSpec.</doc>
  6218. <return-value>
  6219. <doc xml:space="preserve">the #GParamSpec that was passed into this function</doc>
  6220. <type name="ParamSpec" c:type="GParamSpec*"/>
  6221. </return-value>
  6222. <parameters>
  6223. <instance-parameter name="pspec" transfer-ownership="none">
  6224. <doc xml:space="preserve">a valid #GParamSpec</doc>
  6225. <type name="ParamSpec" c:type="GParamSpec*"/>
  6226. </instance-parameter>
  6227. </parameters>
  6228. </method>
  6229. <method name="set_qdata" c:identifier="g_param_spec_set_qdata">
  6230. <doc xml:space="preserve">Sets an opaque, named pointer on a #GParamSpec. The name is
  6231. specified through a #GQuark (retrieved e.g. via
  6232. g_quark_from_static_string()), and the pointer can be gotten back
  6233. from the @pspec with g_param_spec_get_qdata(). Setting a
  6234. previously set user data pointer, overrides (frees) the old pointer
  6235. set, using %NULL as pointer essentially removes the data stored.</doc>
  6236. <return-value transfer-ownership="none">
  6237. <type name="none" c:type="void"/>
  6238. </return-value>
  6239. <parameters>
  6240. <instance-parameter name="pspec" transfer-ownership="none">
  6241. <doc xml:space="preserve">the #GParamSpec to set store a user data pointer</doc>
  6242. <type name="ParamSpec" c:type="GParamSpec*"/>
  6243. </instance-parameter>
  6244. <parameter name="quark" transfer-ownership="none">
  6245. <doc xml:space="preserve">a #GQuark, naming the user data pointer</doc>
  6246. <type name="GLib.Quark" c:type="GQuark"/>
  6247. </parameter>
  6248. <parameter name="data"
  6249. transfer-ownership="none"
  6250. nullable="1"
  6251. allow-none="1">
  6252. <doc xml:space="preserve">an opaque user data pointer</doc>
  6253. <type name="gpointer" c:type="gpointer"/>
  6254. </parameter>
  6255. </parameters>
  6256. </method>
  6257. <method name="set_qdata_full"
  6258. c:identifier="g_param_spec_set_qdata_full"
  6259. introspectable="0">
  6260. <doc xml:space="preserve">This function works like g_param_spec_set_qdata(), but in addition,
  6261. a `void (*destroy) (gpointer)` function may be
  6262. specified which is called with @data as argument when the @pspec is
  6263. finalized, or the data is being overwritten by a call to
  6264. g_param_spec_set_qdata() with the same @quark.</doc>
  6265. <return-value transfer-ownership="none">
  6266. <type name="none" c:type="void"/>
  6267. </return-value>
  6268. <parameters>
  6269. <instance-parameter name="pspec" transfer-ownership="none">
  6270. <doc xml:space="preserve">the #GParamSpec to set store a user data pointer</doc>
  6271. <type name="ParamSpec" c:type="GParamSpec*"/>
  6272. </instance-parameter>
  6273. <parameter name="quark" transfer-ownership="none">
  6274. <doc xml:space="preserve">a #GQuark, naming the user data pointer</doc>
  6275. <type name="GLib.Quark" c:type="GQuark"/>
  6276. </parameter>
  6277. <parameter name="data"
  6278. transfer-ownership="none"
  6279. nullable="1"
  6280. allow-none="1">
  6281. <doc xml:space="preserve">an opaque user data pointer</doc>
  6282. <type name="gpointer" c:type="gpointer"/>
  6283. </parameter>
  6284. <parameter name="destroy" transfer-ownership="none" scope="async">
  6285. <doc xml:space="preserve">function to invoke with @data as argument, when @data needs to
  6286. be freed</doc>
  6287. <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
  6288. </parameter>
  6289. </parameters>
  6290. </method>
  6291. <method name="sink" c:identifier="g_param_spec_sink">
  6292. <doc xml:space="preserve">The initial reference count of a newly created #GParamSpec is 1,
  6293. even though no one has explicitly called g_param_spec_ref() on it
  6294. yet. So the initial reference count is flagged as "floating", until
  6295. someone calls `g_param_spec_ref (pspec); g_param_spec_sink
  6296. (pspec);` in sequence on it, taking over the initial
  6297. reference count (thus ending up with a @pspec that has a reference
  6298. count of 1 still, but is not flagged "floating" anymore).</doc>
  6299. <return-value transfer-ownership="none">
  6300. <type name="none" c:type="void"/>
  6301. </return-value>
  6302. <parameters>
  6303. <instance-parameter name="pspec" transfer-ownership="none">
  6304. <doc xml:space="preserve">a valid #GParamSpec</doc>
  6305. <type name="ParamSpec" c:type="GParamSpec*"/>
  6306. </instance-parameter>
  6307. </parameters>
  6308. </method>
  6309. <method name="steal_qdata" c:identifier="g_param_spec_steal_qdata">
  6310. <doc xml:space="preserve">Gets back user data pointers stored via g_param_spec_set_qdata()
  6311. and removes the @data from @pspec without invoking its destroy()
  6312. function (if any was set). Usually, calling this function is only
  6313. required to update user data pointers with a destroy notifier.</doc>
  6314. <return-value transfer-ownership="none" nullable="1">
  6315. <doc xml:space="preserve">the user data pointer set, or %NULL</doc>
  6316. <type name="gpointer" c:type="gpointer"/>
  6317. </return-value>
  6318. <parameters>
  6319. <instance-parameter name="pspec" transfer-ownership="none">
  6320. <doc xml:space="preserve">the #GParamSpec to get a stored user data pointer from</doc>
  6321. <type name="ParamSpec" c:type="GParamSpec*"/>
  6322. </instance-parameter>
  6323. <parameter name="quark" transfer-ownership="none">
  6324. <doc xml:space="preserve">a #GQuark, naming the user data pointer</doc>
  6325. <type name="GLib.Quark" c:type="GQuark"/>
  6326. </parameter>
  6327. </parameters>
  6328. </method>
  6329. <method name="unref"
  6330. c:identifier="g_param_spec_unref"
  6331. introspectable="0">
  6332. <doc xml:space="preserve">Decrements the reference count of a @pspec.</doc>
  6333. <return-value transfer-ownership="none">
  6334. <type name="none" c:type="void"/>
  6335. </return-value>
  6336. <parameters>
  6337. <instance-parameter name="pspec" transfer-ownership="none">
  6338. <doc xml:space="preserve">a valid #GParamSpec</doc>
  6339. <type name="ParamSpec" c:type="GParamSpec*"/>
  6340. </instance-parameter>
  6341. </parameters>
  6342. </method>
  6343. <field name="g_type_instance">
  6344. <doc xml:space="preserve">private #GTypeInstance portion</doc>
  6345. <type name="TypeInstance" c:type="GTypeInstance"/>
  6346. </field>
  6347. <field name="name">
  6348. <doc xml:space="preserve">name of this parameter: always an interned string</doc>
  6349. <type name="utf8" c:type="const gchar*"/>
  6350. </field>
  6351. <field name="flags">
  6352. <doc xml:space="preserve">#GParamFlags flags for this parameter</doc>
  6353. <type name="ParamFlags" c:type="GParamFlags"/>
  6354. </field>
  6355. <field name="value_type">
  6356. <doc xml:space="preserve">the #GValue type for this parameter</doc>
  6357. <type name="GType" c:type="GType"/>
  6358. </field>
  6359. <field name="owner_type">
  6360. <doc xml:space="preserve">#GType type that uses (introduces) this parameter</doc>
  6361. <type name="GType" c:type="GType"/>
  6362. </field>
  6363. <field name="_nick" readable="0" private="1">
  6364. <type name="utf8" c:type="gchar*"/>
  6365. </field>
  6366. <field name="_blurb" readable="0" private="1">
  6367. <type name="utf8" c:type="gchar*"/>
  6368. </field>
  6369. <field name="qdata" readable="0" private="1">
  6370. <type name="GLib.Data" c:type="GData*"/>
  6371. </field>
  6372. <field name="ref_count" readable="0" private="1">
  6373. <type name="guint" c:type="guint"/>
  6374. </field>
  6375. <field name="param_id" readable="0" private="1">
  6376. <type name="guint" c:type="guint"/>
  6377. </field>
  6378. </class>
  6379. <class name="ParamSpecBoolean"
  6380. c:symbol-prefix="param_spec_boolean"
  6381. c:type="GParamSpecBoolean"
  6382. parent="ParamSpec"
  6383. glib:type-name="GParamBoolean"
  6384. glib:get-type="intern"
  6385. glib:fundamental="1">
  6386. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for boolean properties.</doc>
  6387. <field name="parent_instance">
  6388. <doc xml:space="preserve">private #GParamSpec portion</doc>
  6389. <type name="ParamSpec" c:type="GParamSpec"/>
  6390. </field>
  6391. <field name="default_value">
  6392. <doc xml:space="preserve">default value for the property specified</doc>
  6393. <type name="gboolean" c:type="gboolean"/>
  6394. </field>
  6395. </class>
  6396. <class name="ParamSpecBoxed"
  6397. c:symbol-prefix="param_spec_boxed"
  6398. c:type="GParamSpecBoxed"
  6399. parent="ParamSpec"
  6400. glib:type-name="GParamBoxed"
  6401. glib:get-type="intern"
  6402. glib:fundamental="1">
  6403. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for boxed properties.</doc>
  6404. <field name="parent_instance">
  6405. <doc xml:space="preserve">private #GParamSpec portion</doc>
  6406. <type name="ParamSpec" c:type="GParamSpec"/>
  6407. </field>
  6408. </class>
  6409. <class name="ParamSpecChar"
  6410. c:symbol-prefix="param_spec_char"
  6411. c:type="GParamSpecChar"
  6412. parent="ParamSpec"
  6413. glib:type-name="GParamChar"
  6414. glib:get-type="intern"
  6415. glib:fundamental="1">
  6416. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for character properties.</doc>
  6417. <field name="parent_instance">
  6418. <doc xml:space="preserve">private #GParamSpec portion</doc>
  6419. <type name="ParamSpec" c:type="GParamSpec"/>
  6420. </field>
  6421. <field name="minimum">
  6422. <doc xml:space="preserve">minimum value for the property specified</doc>
  6423. <type name="gint8" c:type="gint8"/>
  6424. </field>
  6425. <field name="maximum">
  6426. <doc xml:space="preserve">maximum value for the property specified</doc>
  6427. <type name="gint8" c:type="gint8"/>
  6428. </field>
  6429. <field name="default_value">
  6430. <doc xml:space="preserve">default value for the property specified</doc>
  6431. <type name="gint8" c:type="gint8"/>
  6432. </field>
  6433. </class>
  6434. <record name="ParamSpecClass"
  6435. c:type="GParamSpecClass"
  6436. glib:is-gtype-struct-for="ParamSpec">
  6437. <doc xml:space="preserve">The class structure for the GParamSpec type.
  6438. Normally, GParamSpec classes are filled by
  6439. g_param_type_register_static().</doc>
  6440. <field name="g_type_class">
  6441. <doc xml:space="preserve">the parent class</doc>
  6442. <type name="TypeClass" c:type="GTypeClass"/>
  6443. </field>
  6444. <field name="value_type">
  6445. <doc xml:space="preserve">the #GValue type for this parameter</doc>
  6446. <type name="GType" c:type="GType"/>
  6447. </field>
  6448. <field name="finalize">
  6449. <callback name="finalize">
  6450. <return-value transfer-ownership="none">
  6451. <type name="none" c:type="void"/>
  6452. </return-value>
  6453. <parameters>
  6454. <parameter name="pspec" transfer-ownership="none">
  6455. <type name="ParamSpec" c:type="GParamSpec*"/>
  6456. </parameter>
  6457. </parameters>
  6458. </callback>
  6459. </field>
  6460. <field name="value_set_default">
  6461. <callback name="value_set_default">
  6462. <return-value transfer-ownership="none">
  6463. <type name="none" c:type="void"/>
  6464. </return-value>
  6465. <parameters>
  6466. <parameter name="pspec" transfer-ownership="none">
  6467. <type name="ParamSpec" c:type="GParamSpec*"/>
  6468. </parameter>
  6469. <parameter name="value" transfer-ownership="none">
  6470. <type name="Value" c:type="GValue*"/>
  6471. </parameter>
  6472. </parameters>
  6473. </callback>
  6474. </field>
  6475. <field name="value_validate">
  6476. <callback name="value_validate">
  6477. <return-value transfer-ownership="none">
  6478. <type name="gboolean" c:type="gboolean"/>
  6479. </return-value>
  6480. <parameters>
  6481. <parameter name="pspec" transfer-ownership="none">
  6482. <type name="ParamSpec" c:type="GParamSpec*"/>
  6483. </parameter>
  6484. <parameter name="value" transfer-ownership="none">
  6485. <type name="Value" c:type="GValue*"/>
  6486. </parameter>
  6487. </parameters>
  6488. </callback>
  6489. </field>
  6490. <field name="values_cmp">
  6491. <callback name="values_cmp">
  6492. <return-value transfer-ownership="none">
  6493. <type name="gint" c:type="gint"/>
  6494. </return-value>
  6495. <parameters>
  6496. <parameter name="pspec" transfer-ownership="none">
  6497. <type name="ParamSpec" c:type="GParamSpec*"/>
  6498. </parameter>
  6499. <parameter name="value1" transfer-ownership="none">
  6500. <type name="Value" c:type="const GValue*"/>
  6501. </parameter>
  6502. <parameter name="value2" transfer-ownership="none">
  6503. <type name="Value" c:type="const GValue*"/>
  6504. </parameter>
  6505. </parameters>
  6506. </callback>
  6507. </field>
  6508. <field name="dummy" readable="0" private="1">
  6509. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  6510. <type name="gpointer" c:type="gpointer"/>
  6511. </array>
  6512. </field>
  6513. </record>
  6514. <class name="ParamSpecDouble"
  6515. c:symbol-prefix="param_spec_double"
  6516. c:type="GParamSpecDouble"
  6517. parent="ParamSpec"
  6518. glib:type-name="GParamDouble"
  6519. glib:get-type="intern"
  6520. glib:fundamental="1">
  6521. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for double properties.</doc>
  6522. <field name="parent_instance">
  6523. <doc xml:space="preserve">private #GParamSpec portion</doc>
  6524. <type name="ParamSpec" c:type="GParamSpec"/>
  6525. </field>
  6526. <field name="minimum">
  6527. <doc xml:space="preserve">minimum value for the property specified</doc>
  6528. <type name="gdouble" c:type="gdouble"/>
  6529. </field>
  6530. <field name="maximum">
  6531. <doc xml:space="preserve">maximum value for the property specified</doc>
  6532. <type name="gdouble" c:type="gdouble"/>
  6533. </field>
  6534. <field name="default_value">
  6535. <doc xml:space="preserve">default value for the property specified</doc>
  6536. <type name="gdouble" c:type="gdouble"/>
  6537. </field>
  6538. <field name="epsilon">
  6539. <doc xml:space="preserve">values closer than @epsilon will be considered identical
  6540. by g_param_values_cmp(); the default value is 1e-90.</doc>
  6541. <type name="gdouble" c:type="gdouble"/>
  6542. </field>
  6543. </class>
  6544. <class name="ParamSpecEnum"
  6545. c:symbol-prefix="param_spec_enum"
  6546. c:type="GParamSpecEnum"
  6547. parent="ParamSpec"
  6548. glib:type-name="GParamEnum"
  6549. glib:get-type="intern"
  6550. glib:fundamental="1">
  6551. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for enum
  6552. properties.</doc>
  6553. <field name="parent_instance">
  6554. <doc xml:space="preserve">private #GParamSpec portion</doc>
  6555. <type name="ParamSpec" c:type="GParamSpec"/>
  6556. </field>
  6557. <field name="enum_class">
  6558. <doc xml:space="preserve">the #GEnumClass for the enum</doc>
  6559. <type name="EnumClass" c:type="GEnumClass*"/>
  6560. </field>
  6561. <field name="default_value">
  6562. <doc xml:space="preserve">default value for the property specified</doc>
  6563. <type name="gint" c:type="gint"/>
  6564. </field>
  6565. </class>
  6566. <class name="ParamSpecFlags"
  6567. c:symbol-prefix="param_spec_flags"
  6568. c:type="GParamSpecFlags"
  6569. parent="ParamSpec"
  6570. glib:type-name="GParamFlags"
  6571. glib:get-type="intern"
  6572. glib:fundamental="1">
  6573. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for flags
  6574. properties.</doc>
  6575. <field name="parent_instance">
  6576. <doc xml:space="preserve">private #GParamSpec portion</doc>
  6577. <type name="ParamSpec" c:type="GParamSpec"/>
  6578. </field>
  6579. <field name="flags_class">
  6580. <doc xml:space="preserve">the #GFlagsClass for the flags</doc>
  6581. <type name="FlagsClass" c:type="GFlagsClass*"/>
  6582. </field>
  6583. <field name="default_value">
  6584. <doc xml:space="preserve">default value for the property specified</doc>
  6585. <type name="guint" c:type="guint"/>
  6586. </field>
  6587. </class>
  6588. <class name="ParamSpecFloat"
  6589. c:symbol-prefix="param_spec_float"
  6590. c:type="GParamSpecFloat"
  6591. parent="ParamSpec"
  6592. glib:type-name="GParamFloat"
  6593. glib:get-type="intern"
  6594. glib:fundamental="1">
  6595. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for float properties.</doc>
  6596. <field name="parent_instance">
  6597. <doc xml:space="preserve">private #GParamSpec portion</doc>
  6598. <type name="ParamSpec" c:type="GParamSpec"/>
  6599. </field>
  6600. <field name="minimum">
  6601. <doc xml:space="preserve">minimum value for the property specified</doc>
  6602. <type name="gfloat" c:type="gfloat"/>
  6603. </field>
  6604. <field name="maximum">
  6605. <doc xml:space="preserve">maximum value for the property specified</doc>
  6606. <type name="gfloat" c:type="gfloat"/>
  6607. </field>
  6608. <field name="default_value">
  6609. <doc xml:space="preserve">default value for the property specified</doc>
  6610. <type name="gfloat" c:type="gfloat"/>
  6611. </field>
  6612. <field name="epsilon">
  6613. <doc xml:space="preserve">values closer than @epsilon will be considered identical
  6614. by g_param_values_cmp(); the default value is 1e-30.</doc>
  6615. <type name="gfloat" c:type="gfloat"/>
  6616. </field>
  6617. </class>
  6618. <class name="ParamSpecGType"
  6619. c:symbol-prefix="param_spec_gtype"
  6620. c:type="GParamSpecGType"
  6621. version="2.10"
  6622. parent="ParamSpec"
  6623. glib:type-name="GParamGType"
  6624. glib:get-type="intern"
  6625. glib:fundamental="1">
  6626. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for #GType properties.</doc>
  6627. <field name="parent_instance">
  6628. <doc xml:space="preserve">private #GParamSpec portion</doc>
  6629. <type name="ParamSpec" c:type="GParamSpec"/>
  6630. </field>
  6631. <field name="is_a_type">
  6632. <doc xml:space="preserve">a #GType whose subtypes can occur as values</doc>
  6633. <type name="GType" c:type="GType"/>
  6634. </field>
  6635. </class>
  6636. <class name="ParamSpecInt"
  6637. c:symbol-prefix="param_spec_int"
  6638. c:type="GParamSpecInt"
  6639. parent="ParamSpec"
  6640. glib:type-name="GParamInt"
  6641. glib:get-type="intern"
  6642. glib:fundamental="1">
  6643. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for integer properties.</doc>
  6644. <field name="parent_instance">
  6645. <doc xml:space="preserve">private #GParamSpec portion</doc>
  6646. <type name="ParamSpec" c:type="GParamSpec"/>
  6647. </field>
  6648. <field name="minimum">
  6649. <doc xml:space="preserve">minimum value for the property specified</doc>
  6650. <type name="gint" c:type="gint"/>
  6651. </field>
  6652. <field name="maximum">
  6653. <doc xml:space="preserve">maximum value for the property specified</doc>
  6654. <type name="gint" c:type="gint"/>
  6655. </field>
  6656. <field name="default_value">
  6657. <doc xml:space="preserve">default value for the property specified</doc>
  6658. <type name="gint" c:type="gint"/>
  6659. </field>
  6660. </class>
  6661. <class name="ParamSpecInt64"
  6662. c:symbol-prefix="param_spec_int64"
  6663. c:type="GParamSpecInt64"
  6664. parent="ParamSpec"
  6665. glib:type-name="GParamInt64"
  6666. glib:get-type="intern"
  6667. glib:fundamental="1">
  6668. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for 64bit integer properties.</doc>
  6669. <field name="parent_instance">
  6670. <doc xml:space="preserve">private #GParamSpec portion</doc>
  6671. <type name="ParamSpec" c:type="GParamSpec"/>
  6672. </field>
  6673. <field name="minimum">
  6674. <doc xml:space="preserve">minimum value for the property specified</doc>
  6675. <type name="gint64" c:type="gint64"/>
  6676. </field>
  6677. <field name="maximum">
  6678. <doc xml:space="preserve">maximum value for the property specified</doc>
  6679. <type name="gint64" c:type="gint64"/>
  6680. </field>
  6681. <field name="default_value">
  6682. <doc xml:space="preserve">default value for the property specified</doc>
  6683. <type name="gint64" c:type="gint64"/>
  6684. </field>
  6685. </class>
  6686. <class name="ParamSpecLong"
  6687. c:symbol-prefix="param_spec_long"
  6688. c:type="GParamSpecLong"
  6689. parent="ParamSpec"
  6690. glib:type-name="GParamLong"
  6691. glib:get-type="intern"
  6692. glib:fundamental="1">
  6693. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for long integer properties.</doc>
  6694. <field name="parent_instance">
  6695. <doc xml:space="preserve">private #GParamSpec portion</doc>
  6696. <type name="ParamSpec" c:type="GParamSpec"/>
  6697. </field>
  6698. <field name="minimum">
  6699. <doc xml:space="preserve">minimum value for the property specified</doc>
  6700. <type name="glong" c:type="glong"/>
  6701. </field>
  6702. <field name="maximum">
  6703. <doc xml:space="preserve">maximum value for the property specified</doc>
  6704. <type name="glong" c:type="glong"/>
  6705. </field>
  6706. <field name="default_value">
  6707. <doc xml:space="preserve">default value for the property specified</doc>
  6708. <type name="glong" c:type="glong"/>
  6709. </field>
  6710. </class>
  6711. <class name="ParamSpecObject"
  6712. c:symbol-prefix="param_spec_object"
  6713. c:type="GParamSpecObject"
  6714. parent="ParamSpec"
  6715. glib:type-name="GParamObject"
  6716. glib:get-type="intern"
  6717. glib:fundamental="1">
  6718. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for object properties.</doc>
  6719. <field name="parent_instance">
  6720. <doc xml:space="preserve">private #GParamSpec portion</doc>
  6721. <type name="ParamSpec" c:type="GParamSpec"/>
  6722. </field>
  6723. </class>
  6724. <class name="ParamSpecOverride"
  6725. c:symbol-prefix="param_spec_override"
  6726. c:type="GParamSpecOverride"
  6727. version="2.4"
  6728. parent="ParamSpec"
  6729. glib:type-name="GParamOverride"
  6730. glib:get-type="intern"
  6731. glib:fundamental="1">
  6732. <doc xml:space="preserve">This is a type of #GParamSpec type that simply redirects operations to
  6733. another paramspec. All operations other than getting or
  6734. setting the value are redirected, including accessing the nick and
  6735. blurb, validating a value, and so forth. See
  6736. g_param_spec_get_redirect_target() for retrieving the overidden
  6737. property. #GParamSpecOverride is used in implementing
  6738. g_object_class_override_property(), and will not be directly useful
  6739. unless you are implementing a new base type similar to GObject.</doc>
  6740. <field name="parent_instance" readable="0" private="1">
  6741. <type name="ParamSpec" c:type="GParamSpec"/>
  6742. </field>
  6743. <field name="overridden" readable="0" private="1">
  6744. <type name="ParamSpec" c:type="GParamSpec*"/>
  6745. </field>
  6746. </class>
  6747. <class name="ParamSpecParam"
  6748. c:symbol-prefix="param_spec_param"
  6749. c:type="GParamSpecParam"
  6750. parent="ParamSpec"
  6751. glib:type-name="GParamParam"
  6752. glib:get-type="intern"
  6753. glib:fundamental="1">
  6754. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM
  6755. properties.</doc>
  6756. <field name="parent_instance">
  6757. <doc xml:space="preserve">private #GParamSpec portion</doc>
  6758. <type name="ParamSpec" c:type="GParamSpec"/>
  6759. </field>
  6760. </class>
  6761. <class name="ParamSpecPointer"
  6762. c:symbol-prefix="param_spec_pointer"
  6763. c:type="GParamSpecPointer"
  6764. parent="ParamSpec"
  6765. glib:type-name="GParamPointer"
  6766. glib:get-type="intern"
  6767. glib:fundamental="1">
  6768. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for pointer properties.</doc>
  6769. <field name="parent_instance">
  6770. <doc xml:space="preserve">private #GParamSpec portion</doc>
  6771. <type name="ParamSpec" c:type="GParamSpec"/>
  6772. </field>
  6773. </class>
  6774. <record name="ParamSpecPool" c:type="GParamSpecPool" disguised="1">
  6775. <doc xml:space="preserve">A #GParamSpecPool maintains a collection of #GParamSpecs which can be
  6776. quickly accessed by owner and name. The implementation of the #GObject property
  6777. system uses such a pool to store the #GParamSpecs of the properties all object
  6778. types.</doc>
  6779. <method name="insert" c:identifier="g_param_spec_pool_insert">
  6780. <doc xml:space="preserve">Inserts a #GParamSpec in the pool.</doc>
  6781. <return-value transfer-ownership="none">
  6782. <type name="none" c:type="void"/>
  6783. </return-value>
  6784. <parameters>
  6785. <instance-parameter name="pool" transfer-ownership="none">
  6786. <doc xml:space="preserve">a #GParamSpecPool.</doc>
  6787. <type name="ParamSpecPool" c:type="GParamSpecPool*"/>
  6788. </instance-parameter>
  6789. <parameter name="pspec" transfer-ownership="none">
  6790. <doc xml:space="preserve">the #GParamSpec to insert</doc>
  6791. <type name="ParamSpec" c:type="GParamSpec*"/>
  6792. </parameter>
  6793. <parameter name="owner_type" transfer-ownership="none">
  6794. <doc xml:space="preserve">a #GType identifying the owner of @pspec</doc>
  6795. <type name="GType" c:type="GType"/>
  6796. </parameter>
  6797. </parameters>
  6798. </method>
  6799. <method name="list" c:identifier="g_param_spec_pool_list">
  6800. <doc xml:space="preserve">Gets an array of all #GParamSpecs owned by @owner_type in
  6801. the pool.</doc>
  6802. <return-value transfer-ownership="container">
  6803. <doc xml:space="preserve">a newly
  6804. allocated array containing pointers to all #GParamSpecs
  6805. owned by @owner_type in the pool</doc>
  6806. <array length="1" zero-terminated="0" c:type="GParamSpec**">
  6807. <type name="ParamSpec" c:type="GParamSpec*"/>
  6808. </array>
  6809. </return-value>
  6810. <parameters>
  6811. <instance-parameter name="pool" transfer-ownership="none">
  6812. <doc xml:space="preserve">a #GParamSpecPool</doc>
  6813. <type name="ParamSpecPool" c:type="GParamSpecPool*"/>
  6814. </instance-parameter>
  6815. <parameter name="owner_type" transfer-ownership="none">
  6816. <doc xml:space="preserve">the owner to look for</doc>
  6817. <type name="GType" c:type="GType"/>
  6818. </parameter>
  6819. <parameter name="n_pspecs_p"
  6820. direction="out"
  6821. caller-allocates="0"
  6822. transfer-ownership="full">
  6823. <doc xml:space="preserve">return location for the length of the returned array</doc>
  6824. <type name="guint" c:type="guint*"/>
  6825. </parameter>
  6826. </parameters>
  6827. </method>
  6828. <method name="list_owned" c:identifier="g_param_spec_pool_list_owned">
  6829. <doc xml:space="preserve">Gets an #GList of all #GParamSpecs owned by @owner_type in
  6830. the pool.</doc>
  6831. <return-value transfer-ownership="container">
  6832. <doc xml:space="preserve">a
  6833. #GList of all #GParamSpecs owned by @owner_type in
  6834. the pool#GParamSpecs.</doc>
  6835. <type name="GLib.List" c:type="GList*">
  6836. <type name="ParamSpec"/>
  6837. </type>
  6838. </return-value>
  6839. <parameters>
  6840. <instance-parameter name="pool" transfer-ownership="none">
  6841. <doc xml:space="preserve">a #GParamSpecPool</doc>
  6842. <type name="ParamSpecPool" c:type="GParamSpecPool*"/>
  6843. </instance-parameter>
  6844. <parameter name="owner_type" transfer-ownership="none">
  6845. <doc xml:space="preserve">the owner to look for</doc>
  6846. <type name="GType" c:type="GType"/>
  6847. </parameter>
  6848. </parameters>
  6849. </method>
  6850. <method name="lookup" c:identifier="g_param_spec_pool_lookup">
  6851. <doc xml:space="preserve">Looks up a #GParamSpec in the pool.</doc>
  6852. <return-value transfer-ownership="none">
  6853. <doc xml:space="preserve">The found #GParamSpec, or %NULL if no
  6854. matching #GParamSpec was found.</doc>
  6855. <type name="ParamSpec" c:type="GParamSpec*"/>
  6856. </return-value>
  6857. <parameters>
  6858. <instance-parameter name="pool" transfer-ownership="none">
  6859. <doc xml:space="preserve">a #GParamSpecPool</doc>
  6860. <type name="ParamSpecPool" c:type="GParamSpecPool*"/>
  6861. </instance-parameter>
  6862. <parameter name="param_name" transfer-ownership="none">
  6863. <doc xml:space="preserve">the name to look for</doc>
  6864. <type name="utf8" c:type="const gchar*"/>
  6865. </parameter>
  6866. <parameter name="owner_type" transfer-ownership="none">
  6867. <doc xml:space="preserve">the owner to look for</doc>
  6868. <type name="GType" c:type="GType"/>
  6869. </parameter>
  6870. <parameter name="walk_ancestors" transfer-ownership="none">
  6871. <doc xml:space="preserve">If %TRUE, also try to find a #GParamSpec with @param_name
  6872. owned by an ancestor of @owner_type.</doc>
  6873. <type name="gboolean" c:type="gboolean"/>
  6874. </parameter>
  6875. </parameters>
  6876. </method>
  6877. <method name="remove" c:identifier="g_param_spec_pool_remove">
  6878. <doc xml:space="preserve">Removes a #GParamSpec from the pool.</doc>
  6879. <return-value transfer-ownership="none">
  6880. <type name="none" c:type="void"/>
  6881. </return-value>
  6882. <parameters>
  6883. <instance-parameter name="pool" transfer-ownership="none">
  6884. <doc xml:space="preserve">a #GParamSpecPool</doc>
  6885. <type name="ParamSpecPool" c:type="GParamSpecPool*"/>
  6886. </instance-parameter>
  6887. <parameter name="pspec" transfer-ownership="none">
  6888. <doc xml:space="preserve">the #GParamSpec to remove</doc>
  6889. <type name="ParamSpec" c:type="GParamSpec*"/>
  6890. </parameter>
  6891. </parameters>
  6892. </method>
  6893. <function name="new" c:identifier="g_param_spec_pool_new">
  6894. <doc xml:space="preserve">Creates a new #GParamSpecPool.
  6895. If @type_prefixing is %TRUE, lookups in the newly created pool will
  6896. allow to specify the owner as a colon-separated prefix of the
  6897. property name, like "GtkContainer:border-width". This feature is
  6898. deprecated, so you should always set @type_prefixing to %FALSE.</doc>
  6899. <return-value transfer-ownership="none">
  6900. <doc xml:space="preserve">a newly allocated #GParamSpecPool.</doc>
  6901. <type name="ParamSpecPool" c:type="GParamSpecPool*"/>
  6902. </return-value>
  6903. <parameters>
  6904. <parameter name="type_prefixing" transfer-ownership="none">
  6905. <doc xml:space="preserve">Whether the pool will support type-prefixed property names.</doc>
  6906. <type name="gboolean" c:type="gboolean"/>
  6907. </parameter>
  6908. </parameters>
  6909. </function>
  6910. </record>
  6911. <class name="ParamSpecString"
  6912. c:symbol-prefix="param_spec_string"
  6913. c:type="GParamSpecString"
  6914. parent="ParamSpec"
  6915. glib:type-name="GParamString"
  6916. glib:get-type="intern"
  6917. glib:fundamental="1">
  6918. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for string
  6919. properties.</doc>
  6920. <field name="parent_instance">
  6921. <doc xml:space="preserve">private #GParamSpec portion</doc>
  6922. <type name="ParamSpec" c:type="GParamSpec"/>
  6923. </field>
  6924. <field name="default_value">
  6925. <doc xml:space="preserve">default value for the property specified</doc>
  6926. <type name="utf8" c:type="gchar*"/>
  6927. </field>
  6928. <field name="cset_first">
  6929. <doc xml:space="preserve">a string containing the allowed values for the first byte</doc>
  6930. <type name="utf8" c:type="gchar*"/>
  6931. </field>
  6932. <field name="cset_nth">
  6933. <doc xml:space="preserve">a string containing the allowed values for the subsequent bytes</doc>
  6934. <type name="utf8" c:type="gchar*"/>
  6935. </field>
  6936. <field name="substitutor">
  6937. <doc xml:space="preserve">the replacement byte for bytes which don't match @cset_first or @cset_nth.</doc>
  6938. <type name="gchar" c:type="gchar"/>
  6939. </field>
  6940. <field name="null_fold_if_empty" bits="1">
  6941. <doc xml:space="preserve">replace empty string by %NULL</doc>
  6942. <type name="guint" c:type="guint"/>
  6943. </field>
  6944. <field name="ensure_non_null" bits="1">
  6945. <doc xml:space="preserve">replace %NULL strings by an empty string</doc>
  6946. <type name="guint" c:type="guint"/>
  6947. </field>
  6948. </class>
  6949. <record name="ParamSpecTypeInfo" c:type="GParamSpecTypeInfo">
  6950. <doc xml:space="preserve">This structure is used to provide the type system with the information
  6951. required to initialize and destruct (finalize) a parameter's class and
  6952. instances thereof.
  6953. The initialized structure is passed to the g_param_type_register_static()
  6954. The type system will perform a deep copy of this structure, so its memory
  6955. does not need to be persistent across invocation of
  6956. g_param_type_register_static().</doc>
  6957. <field name="instance_size" writable="1">
  6958. <doc xml:space="preserve">Size of the instance (object) structure.</doc>
  6959. <type name="guint16" c:type="guint16"/>
  6960. </field>
  6961. <field name="n_preallocs" writable="1">
  6962. <doc xml:space="preserve">Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10, it is ignored, since instances are allocated with the [slice allocator][glib-Memory-Slices] now.</doc>
  6963. <type name="guint16" c:type="guint16"/>
  6964. </field>
  6965. <field name="instance_init">
  6966. <callback name="instance_init">
  6967. <return-value transfer-ownership="none">
  6968. <type name="none" c:type="void"/>
  6969. </return-value>
  6970. <parameters>
  6971. <parameter name="pspec" transfer-ownership="none">
  6972. <type name="ParamSpec" c:type="GParamSpec*"/>
  6973. </parameter>
  6974. </parameters>
  6975. </callback>
  6976. </field>
  6977. <field name="value_type" writable="1">
  6978. <doc xml:space="preserve">The #GType of values conforming to this #GParamSpec</doc>
  6979. <type name="GType" c:type="GType"/>
  6980. </field>
  6981. <field name="finalize">
  6982. <callback name="finalize">
  6983. <return-value transfer-ownership="none">
  6984. <type name="none" c:type="void"/>
  6985. </return-value>
  6986. <parameters>
  6987. <parameter name="pspec" transfer-ownership="none">
  6988. <type name="ParamSpec" c:type="GParamSpec*"/>
  6989. </parameter>
  6990. </parameters>
  6991. </callback>
  6992. </field>
  6993. <field name="value_set_default">
  6994. <callback name="value_set_default">
  6995. <return-value transfer-ownership="none">
  6996. <type name="none" c:type="void"/>
  6997. </return-value>
  6998. <parameters>
  6999. <parameter name="pspec" transfer-ownership="none">
  7000. <type name="ParamSpec" c:type="GParamSpec*"/>
  7001. </parameter>
  7002. <parameter name="value" transfer-ownership="none">
  7003. <type name="Value" c:type="GValue*"/>
  7004. </parameter>
  7005. </parameters>
  7006. </callback>
  7007. </field>
  7008. <field name="value_validate">
  7009. <callback name="value_validate">
  7010. <return-value transfer-ownership="none">
  7011. <type name="gboolean" c:type="gboolean"/>
  7012. </return-value>
  7013. <parameters>
  7014. <parameter name="pspec" transfer-ownership="none">
  7015. <type name="ParamSpec" c:type="GParamSpec*"/>
  7016. </parameter>
  7017. <parameter name="value" transfer-ownership="none">
  7018. <type name="Value" c:type="GValue*"/>
  7019. </parameter>
  7020. </parameters>
  7021. </callback>
  7022. </field>
  7023. <field name="values_cmp">
  7024. <callback name="values_cmp">
  7025. <return-value transfer-ownership="none">
  7026. <type name="gint" c:type="gint"/>
  7027. </return-value>
  7028. <parameters>
  7029. <parameter name="pspec" transfer-ownership="none">
  7030. <type name="ParamSpec" c:type="GParamSpec*"/>
  7031. </parameter>
  7032. <parameter name="value1" transfer-ownership="none">
  7033. <type name="Value" c:type="const GValue*"/>
  7034. </parameter>
  7035. <parameter name="value2" transfer-ownership="none">
  7036. <type name="Value" c:type="const GValue*"/>
  7037. </parameter>
  7038. </parameters>
  7039. </callback>
  7040. </field>
  7041. </record>
  7042. <class name="ParamSpecUChar"
  7043. c:symbol-prefix="param_spec_uchar"
  7044. c:type="GParamSpecUChar"
  7045. parent="ParamSpec"
  7046. glib:type-name="GParamUChar"
  7047. glib:get-type="intern"
  7048. glib:fundamental="1">
  7049. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for unsigned character properties.</doc>
  7050. <field name="parent_instance">
  7051. <doc xml:space="preserve">private #GParamSpec portion</doc>
  7052. <type name="ParamSpec" c:type="GParamSpec"/>
  7053. </field>
  7054. <field name="minimum">
  7055. <doc xml:space="preserve">minimum value for the property specified</doc>
  7056. <type name="guint8" c:type="guint8"/>
  7057. </field>
  7058. <field name="maximum">
  7059. <doc xml:space="preserve">maximum value for the property specified</doc>
  7060. <type name="guint8" c:type="guint8"/>
  7061. </field>
  7062. <field name="default_value">
  7063. <doc xml:space="preserve">default value for the property specified</doc>
  7064. <type name="guint8" c:type="guint8"/>
  7065. </field>
  7066. </class>
  7067. <class name="ParamSpecUInt"
  7068. c:symbol-prefix="param_spec_uint"
  7069. c:type="GParamSpecUInt"
  7070. parent="ParamSpec"
  7071. glib:type-name="GParamUInt"
  7072. glib:get-type="intern"
  7073. glib:fundamental="1">
  7074. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for unsigned integer properties.</doc>
  7075. <field name="parent_instance">
  7076. <doc xml:space="preserve">private #GParamSpec portion</doc>
  7077. <type name="ParamSpec" c:type="GParamSpec"/>
  7078. </field>
  7079. <field name="minimum">
  7080. <doc xml:space="preserve">minimum value for the property specified</doc>
  7081. <type name="guint" c:type="guint"/>
  7082. </field>
  7083. <field name="maximum">
  7084. <doc xml:space="preserve">maximum value for the property specified</doc>
  7085. <type name="guint" c:type="guint"/>
  7086. </field>
  7087. <field name="default_value">
  7088. <doc xml:space="preserve">default value for the property specified</doc>
  7089. <type name="guint" c:type="guint"/>
  7090. </field>
  7091. </class>
  7092. <class name="ParamSpecUInt64"
  7093. c:symbol-prefix="param_spec_uint64"
  7094. c:type="GParamSpecUInt64"
  7095. parent="ParamSpec"
  7096. glib:type-name="GParamUInt64"
  7097. glib:get-type="intern"
  7098. glib:fundamental="1">
  7099. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties.</doc>
  7100. <field name="parent_instance">
  7101. <doc xml:space="preserve">private #GParamSpec portion</doc>
  7102. <type name="ParamSpec" c:type="GParamSpec"/>
  7103. </field>
  7104. <field name="minimum">
  7105. <doc xml:space="preserve">minimum value for the property specified</doc>
  7106. <type name="guint64" c:type="guint64"/>
  7107. </field>
  7108. <field name="maximum">
  7109. <doc xml:space="preserve">maximum value for the property specified</doc>
  7110. <type name="guint64" c:type="guint64"/>
  7111. </field>
  7112. <field name="default_value">
  7113. <doc xml:space="preserve">default value for the property specified</doc>
  7114. <type name="guint64" c:type="guint64"/>
  7115. </field>
  7116. </class>
  7117. <class name="ParamSpecULong"
  7118. c:symbol-prefix="param_spec_ulong"
  7119. c:type="GParamSpecULong"
  7120. parent="ParamSpec"
  7121. glib:type-name="GParamULong"
  7122. glib:get-type="intern"
  7123. glib:fundamental="1">
  7124. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for unsigned long integer properties.</doc>
  7125. <field name="parent_instance">
  7126. <doc xml:space="preserve">private #GParamSpec portion</doc>
  7127. <type name="ParamSpec" c:type="GParamSpec"/>
  7128. </field>
  7129. <field name="minimum">
  7130. <doc xml:space="preserve">minimum value for the property specified</doc>
  7131. <type name="gulong" c:type="gulong"/>
  7132. </field>
  7133. <field name="maximum">
  7134. <doc xml:space="preserve">maximum value for the property specified</doc>
  7135. <type name="gulong" c:type="gulong"/>
  7136. </field>
  7137. <field name="default_value">
  7138. <doc xml:space="preserve">default value for the property specified</doc>
  7139. <type name="gulong" c:type="gulong"/>
  7140. </field>
  7141. </class>
  7142. <class name="ParamSpecUnichar"
  7143. c:symbol-prefix="param_spec_unichar"
  7144. c:type="GParamSpecUnichar"
  7145. parent="ParamSpec"
  7146. glib:type-name="GParamUnichar"
  7147. glib:get-type="intern"
  7148. glib:fundamental="1">
  7149. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties.</doc>
  7150. <field name="parent_instance">
  7151. <doc xml:space="preserve">private #GParamSpec portion</doc>
  7152. <type name="ParamSpec" c:type="GParamSpec"/>
  7153. </field>
  7154. <field name="default_value">
  7155. <doc xml:space="preserve">default value for the property specified</doc>
  7156. <type name="gunichar" c:type="gunichar"/>
  7157. </field>
  7158. </class>
  7159. <class name="ParamSpecValueArray"
  7160. c:symbol-prefix="param_spec_value_array"
  7161. c:type="GParamSpecValueArray"
  7162. parent="ParamSpec"
  7163. glib:type-name="GParamValueArray"
  7164. glib:get-type="intern"
  7165. glib:fundamental="1">
  7166. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for #GValueArray properties.</doc>
  7167. <field name="parent_instance">
  7168. <doc xml:space="preserve">private #GParamSpec portion</doc>
  7169. <type name="ParamSpec" c:type="GParamSpec"/>
  7170. </field>
  7171. <field name="element_spec">
  7172. <doc xml:space="preserve">a #GParamSpec describing the elements contained in arrays of this property, may be %NULL</doc>
  7173. <type name="ParamSpec" c:type="GParamSpec*"/>
  7174. </field>
  7175. <field name="fixed_n_elements">
  7176. <doc xml:space="preserve">if greater than 0, arrays of this property will always have this many elements</doc>
  7177. <type name="guint" c:type="guint"/>
  7178. </field>
  7179. </class>
  7180. <class name="ParamSpecVariant"
  7181. c:symbol-prefix="param_spec_variant"
  7182. c:type="GParamSpecVariant"
  7183. version="2.26"
  7184. parent="ParamSpec"
  7185. glib:type-name="GParamVariant"
  7186. glib:get-type="intern"
  7187. glib:fundamental="1">
  7188. <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for #GVariant properties.</doc>
  7189. <field name="parent_instance">
  7190. <doc xml:space="preserve">private #GParamSpec portion</doc>
  7191. <type name="ParamSpec" c:type="GParamSpec"/>
  7192. </field>
  7193. <field name="type">
  7194. <doc xml:space="preserve">a #GVariantType, or %NULL</doc>
  7195. <type name="GLib.VariantType" c:type="GVariantType*"/>
  7196. </field>
  7197. <field name="default_value">
  7198. <doc xml:space="preserve">a #GVariant, or %NULL</doc>
  7199. <type name="GLib.Variant" c:type="GVariant*"/>
  7200. </field>
  7201. <field name="padding" readable="0" private="1">
  7202. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  7203. <type name="gpointer" c:type="gpointer"/>
  7204. </array>
  7205. </field>
  7206. </class>
  7207. <record name="Parameter" c:type="GParameter">
  7208. <doc xml:space="preserve">The GParameter struct is an auxiliary structure used
  7209. to hand parameter name/value pairs to g_object_newv().</doc>
  7210. <field name="name" writable="1">
  7211. <doc xml:space="preserve">the parameter name</doc>
  7212. <type name="utf8" c:type="const gchar*"/>
  7213. </field>
  7214. <field name="value" writable="1">
  7215. <doc xml:space="preserve">the parameter value</doc>
  7216. <type name="Value" c:type="GValue"/>
  7217. </field>
  7218. </record>
  7219. <constant name="SIGNAL_FLAGS_MASK"
  7220. value="511"
  7221. c:type="G_SIGNAL_FLAGS_MASK">
  7222. <doc xml:space="preserve">A mask for all #GSignalFlags bits.</doc>
  7223. <type name="gint" c:type="gint"/>
  7224. </constant>
  7225. <constant name="SIGNAL_MATCH_MASK" value="63" c:type="G_SIGNAL_MATCH_MASK">
  7226. <doc xml:space="preserve">A mask for all #GSignalMatchType bits.</doc>
  7227. <type name="gint" c:type="gint"/>
  7228. </constant>
  7229. <callback name="SignalAccumulator" c:type="GSignalAccumulator">
  7230. <doc xml:space="preserve">The signal accumulator is a special callback function that can be used
  7231. to collect return values of the various callbacks that are called
  7232. during a signal emission. The signal accumulator is specified at signal
  7233. creation time, if it is left %NULL, no accumulation of callback return
  7234. values is performed. The return value of signal emissions is then the
  7235. value returned by the last callback.</doc>
  7236. <return-value transfer-ownership="none">
  7237. <doc xml:space="preserve">The accumulator function returns whether the signal emission
  7238. should be aborted. Returning %FALSE means to abort the
  7239. current emission and %TRUE is returned for continuation.</doc>
  7240. <type name="gboolean" c:type="gboolean"/>
  7241. </return-value>
  7242. <parameters>
  7243. <parameter name="ihint" transfer-ownership="none">
  7244. <doc xml:space="preserve">Signal invocation hint, see #GSignalInvocationHint.</doc>
  7245. <type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
  7246. </parameter>
  7247. <parameter name="return_accu" transfer-ownership="none">
  7248. <doc xml:space="preserve">Accumulator to collect callback return values in, this
  7249. is the return value of the current signal emission.</doc>
  7250. <type name="Value" c:type="GValue*"/>
  7251. </parameter>
  7252. <parameter name="handler_return" transfer-ownership="none">
  7253. <doc xml:space="preserve">A #GValue holding the return value of the signal handler.</doc>
  7254. <type name="Value" c:type="const GValue*"/>
  7255. </parameter>
  7256. <parameter name="data"
  7257. transfer-ownership="none"
  7258. nullable="1"
  7259. allow-none="1">
  7260. <doc xml:space="preserve">Callback data that was specified when creating the signal.</doc>
  7261. <type name="gpointer" c:type="gpointer"/>
  7262. </parameter>
  7263. </parameters>
  7264. </callback>
  7265. <callback name="SignalEmissionHook" c:type="GSignalEmissionHook">
  7266. <doc xml:space="preserve">A simple function pointer to get invoked when the signal is emitted. This
  7267. allows you to tie a hook to the signal type, so that it will trap all
  7268. emissions of that signal, from any object.
  7269. You may not attach these to signals created with the #G_SIGNAL_NO_HOOKS flag.</doc>
  7270. <return-value transfer-ownership="none">
  7271. <doc xml:space="preserve">whether it wants to stay connected. If it returns %FALSE, the signal
  7272. hook is disconnected (and destroyed).</doc>
  7273. <type name="gboolean" c:type="gboolean"/>
  7274. </return-value>
  7275. <parameters>
  7276. <parameter name="ihint" transfer-ownership="none">
  7277. <doc xml:space="preserve">Signal invocation hint, see #GSignalInvocationHint.</doc>
  7278. <type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
  7279. </parameter>
  7280. <parameter name="n_param_values" transfer-ownership="none">
  7281. <doc xml:space="preserve">the number of parameters to the function, including
  7282. the instance on which the signal was emitted.</doc>
  7283. <type name="guint" c:type="guint"/>
  7284. </parameter>
  7285. <parameter name="param_values" transfer-ownership="none">
  7286. <doc xml:space="preserve">the instance on which
  7287. the signal was emitted, followed by the parameters of the emission.</doc>
  7288. <array length="1" zero-terminated="0" c:type="GValue*">
  7289. <type name="Value" c:type="GValue"/>
  7290. </array>
  7291. </parameter>
  7292. <parameter name="data"
  7293. transfer-ownership="none"
  7294. nullable="1"
  7295. allow-none="1">
  7296. <doc xml:space="preserve">user data associated with the hook.</doc>
  7297. <type name="gpointer" c:type="gpointer"/>
  7298. </parameter>
  7299. </parameters>
  7300. </callback>
  7301. <bitfield name="SignalFlags" c:type="GSignalFlags">
  7302. <doc xml:space="preserve">The signal flags are used to specify a signal's behaviour, the overall
  7303. signal description outlines how especially the RUN flags control the
  7304. stages of a signal emission.</doc>
  7305. <member name="run_first" value="1" c:identifier="G_SIGNAL_RUN_FIRST">
  7306. <doc xml:space="preserve">Invoke the object method handler in the first emission stage.</doc>
  7307. </member>
  7308. <member name="run_last" value="2" c:identifier="G_SIGNAL_RUN_LAST">
  7309. <doc xml:space="preserve">Invoke the object method handler in the third emission stage.</doc>
  7310. </member>
  7311. <member name="run_cleanup" value="4" c:identifier="G_SIGNAL_RUN_CLEANUP">
  7312. <doc xml:space="preserve">Invoke the object method handler in the last emission stage.</doc>
  7313. </member>
  7314. <member name="no_recurse" value="8" c:identifier="G_SIGNAL_NO_RECURSE">
  7315. <doc xml:space="preserve">Signals being emitted for an object while currently being in
  7316. emission for this very object will not be emitted recursively,
  7317. but instead cause the first emission to be restarted.</doc>
  7318. </member>
  7319. <member name="detailed" value="16" c:identifier="G_SIGNAL_DETAILED">
  7320. <doc xml:space="preserve">This signal supports "::detail" appendices to the signal name
  7321. upon handler connections and emissions.</doc>
  7322. </member>
  7323. <member name="action" value="32" c:identifier="G_SIGNAL_ACTION">
  7324. <doc xml:space="preserve">Action signals are signals that may freely be emitted on alive
  7325. objects from user code via g_signal_emit() and friends, without
  7326. the need of being embedded into extra code that performs pre or
  7327. post emission adjustments on the object. They can also be thought
  7328. of as object methods which can be called generically by
  7329. third-party code.</doc>
  7330. </member>
  7331. <member name="no_hooks" value="64" c:identifier="G_SIGNAL_NO_HOOKS">
  7332. <doc xml:space="preserve">No emissions hooks are supported for this signal.</doc>
  7333. </member>
  7334. <member name="must_collect"
  7335. value="128"
  7336. c:identifier="G_SIGNAL_MUST_COLLECT">
  7337. <doc xml:space="preserve">Varargs signal emission will always collect the
  7338. arguments, even if there are no signal handlers connected. Since 2.30.</doc>
  7339. </member>
  7340. <member name="deprecated" value="256" c:identifier="G_SIGNAL_DEPRECATED">
  7341. <doc xml:space="preserve">The signal is deprecated and will be removed
  7342. in a future version. A warning will be generated if it is connected while
  7343. running with G_ENABLE_DIAGNOSTIC=1. Since 2.32.</doc>
  7344. </member>
  7345. </bitfield>
  7346. <record name="SignalInvocationHint" c:type="GSignalInvocationHint">
  7347. <doc xml:space="preserve">The #GSignalInvocationHint structure is used to pass on additional information
  7348. to callbacks during a signal emission.</doc>
  7349. <field name="signal_id" writable="1">
  7350. <doc xml:space="preserve">The signal id of the signal invoking the callback</doc>
  7351. <type name="guint" c:type="guint"/>
  7352. </field>
  7353. <field name="detail" writable="1">
  7354. <doc xml:space="preserve">The detail passed on for this emission</doc>
  7355. <type name="GLib.Quark" c:type="GQuark"/>
  7356. </field>
  7357. <field name="run_type" writable="1">
  7358. <doc xml:space="preserve">The stage the signal emission is currently in, this
  7359. field will contain one of %G_SIGNAL_RUN_FIRST,
  7360. %G_SIGNAL_RUN_LAST or %G_SIGNAL_RUN_CLEANUP.</doc>
  7361. <type name="SignalFlags" c:type="GSignalFlags"/>
  7362. </field>
  7363. </record>
  7364. <bitfield name="SignalMatchType" c:type="GSignalMatchType">
  7365. <doc xml:space="preserve">The match types specify what g_signal_handlers_block_matched(),
  7366. g_signal_handlers_unblock_matched() and g_signal_handlers_disconnect_matched()
  7367. match signals by.</doc>
  7368. <member name="id" value="1" c:identifier="G_SIGNAL_MATCH_ID">
  7369. <doc xml:space="preserve">The signal id must be equal.</doc>
  7370. </member>
  7371. <member name="detail" value="2" c:identifier="G_SIGNAL_MATCH_DETAIL">
  7372. <doc xml:space="preserve">The signal detail be equal.</doc>
  7373. </member>
  7374. <member name="closure" value="4" c:identifier="G_SIGNAL_MATCH_CLOSURE">
  7375. <doc xml:space="preserve">The closure must be the same.</doc>
  7376. </member>
  7377. <member name="func" value="8" c:identifier="G_SIGNAL_MATCH_FUNC">
  7378. <doc xml:space="preserve">The C closure callback must be the same.</doc>
  7379. </member>
  7380. <member name="data" value="16" c:identifier="G_SIGNAL_MATCH_DATA">
  7381. <doc xml:space="preserve">The closure data must be the same.</doc>
  7382. </member>
  7383. <member name="unblocked"
  7384. value="32"
  7385. c:identifier="G_SIGNAL_MATCH_UNBLOCKED">
  7386. <doc xml:space="preserve">Only unblocked signals may matched.</doc>
  7387. </member>
  7388. </bitfield>
  7389. <record name="SignalQuery" c:type="GSignalQuery">
  7390. <doc xml:space="preserve">A structure holding in-depth information for a specific signal. It is
  7391. filled in by the g_signal_query() function.</doc>
  7392. <field name="signal_id" writable="1">
  7393. <doc xml:space="preserve">The signal id of the signal being queried, or 0 if the
  7394. signal to be queried was unknown.</doc>
  7395. <type name="guint" c:type="guint"/>
  7396. </field>
  7397. <field name="signal_name" writable="1">
  7398. <doc xml:space="preserve">The signal name.</doc>
  7399. <type name="utf8" c:type="const gchar*"/>
  7400. </field>
  7401. <field name="itype" writable="1">
  7402. <doc xml:space="preserve">The interface/instance type that this signal can be emitted for.</doc>
  7403. <type name="GType" c:type="GType"/>
  7404. </field>
  7405. <field name="signal_flags" writable="1">
  7406. <doc xml:space="preserve">The signal flags as passed in to g_signal_new().</doc>
  7407. <type name="SignalFlags" c:type="GSignalFlags"/>
  7408. </field>
  7409. <field name="return_type" writable="1">
  7410. <doc xml:space="preserve">The return type for user callbacks.</doc>
  7411. <type name="GType" c:type="GType"/>
  7412. </field>
  7413. <field name="n_params" writable="1">
  7414. <doc xml:space="preserve">The number of parameters that user callbacks take.</doc>
  7415. <type name="guint" c:type="guint"/>
  7416. </field>
  7417. <field name="param_types" writable="1">
  7418. <doc xml:space="preserve">The individual parameter types for
  7419. user callbacks, note that the effective callback signature is:
  7420. |[&lt;!-- language="C" --&gt;
  7421. @return_type callback (#gpointer data1,
  7422. [param_types param_names,]
  7423. gpointer data2);
  7424. ]|</doc>
  7425. <array length="5" zero-terminated="0" c:type="GType*">
  7426. <type name="GType" c:type="GType"/>
  7427. </array>
  7428. </field>
  7429. </record>
  7430. <constant name="TYPE_FLAG_RESERVED_ID_BIT"
  7431. value="1"
  7432. c:type="G_TYPE_FLAG_RESERVED_ID_BIT">
  7433. <doc xml:space="preserve">A bit in the type number that's supposed to be left untouched.</doc>
  7434. <type name="GLib.Type" c:type="GType"/>
  7435. </constant>
  7436. <constant name="TYPE_FUNDAMENTAL_MAX"
  7437. value="255"
  7438. c:type="G_TYPE_FUNDAMENTAL_MAX">
  7439. <doc xml:space="preserve">An integer constant that represents the number of identifiers reserved
  7440. for types that are assigned at compile-time.</doc>
  7441. <type name="gint" c:type="gint"/>
  7442. </constant>
  7443. <constant name="TYPE_FUNDAMENTAL_SHIFT"
  7444. value="2"
  7445. c:type="G_TYPE_FUNDAMENTAL_SHIFT">
  7446. <doc xml:space="preserve">Shift value used in converting numbers to type IDs.</doc>
  7447. <type name="gint" c:type="gint"/>
  7448. </constant>
  7449. <constant name="TYPE_RESERVED_BSE_FIRST"
  7450. value="32"
  7451. c:type="G_TYPE_RESERVED_BSE_FIRST">
  7452. <doc xml:space="preserve">First fundamental type number to create a new fundamental type id with
  7453. G_TYPE_MAKE_FUNDAMENTAL() reserved for BSE.</doc>
  7454. <type name="gint" c:type="gint"/>
  7455. </constant>
  7456. <constant name="TYPE_RESERVED_BSE_LAST"
  7457. value="48"
  7458. c:type="G_TYPE_RESERVED_BSE_LAST">
  7459. <doc xml:space="preserve">Last fundamental type number reserved for BSE.</doc>
  7460. <type name="gint" c:type="gint"/>
  7461. </constant>
  7462. <constant name="TYPE_RESERVED_GLIB_FIRST"
  7463. value="22"
  7464. c:type="G_TYPE_RESERVED_GLIB_FIRST">
  7465. <doc xml:space="preserve">First fundamental type number to create a new fundamental type id with
  7466. G_TYPE_MAKE_FUNDAMENTAL() reserved for GLib.</doc>
  7467. <type name="gint" c:type="gint"/>
  7468. </constant>
  7469. <constant name="TYPE_RESERVED_GLIB_LAST"
  7470. value="31"
  7471. c:type="G_TYPE_RESERVED_GLIB_LAST">
  7472. <doc xml:space="preserve">Last fundamental type number reserved for GLib.</doc>
  7473. <type name="gint" c:type="gint"/>
  7474. </constant>
  7475. <constant name="TYPE_RESERVED_USER_FIRST"
  7476. value="49"
  7477. c:type="G_TYPE_RESERVED_USER_FIRST">
  7478. <doc xml:space="preserve">First available fundamental type number to create new fundamental
  7479. type id with G_TYPE_MAKE_FUNDAMENTAL().</doc>
  7480. <type name="gint" c:type="gint"/>
  7481. </constant>
  7482. <callback name="ToggleNotify" c:type="GToggleNotify">
  7483. <doc xml:space="preserve">A callback function used for notification when the state
  7484. of a toggle reference changes. See g_object_add_toggle_ref().</doc>
  7485. <return-value transfer-ownership="none">
  7486. <type name="none" c:type="void"/>
  7487. </return-value>
  7488. <parameters>
  7489. <parameter name="data"
  7490. transfer-ownership="none"
  7491. nullable="1"
  7492. allow-none="1">
  7493. <doc xml:space="preserve">Callback data passed to g_object_add_toggle_ref()</doc>
  7494. <type name="gpointer" c:type="gpointer"/>
  7495. </parameter>
  7496. <parameter name="object" transfer-ownership="none">
  7497. <doc xml:space="preserve">The object on which g_object_add_toggle_ref() was called.</doc>
  7498. <type name="Object" c:type="GObject*"/>
  7499. </parameter>
  7500. <parameter name="is_last_ref" transfer-ownership="none">
  7501. <doc xml:space="preserve">%TRUE if the toggle reference is now the
  7502. last reference to the object. %FALSE if the toggle
  7503. reference was the last reference and there are now other
  7504. references.</doc>
  7505. <type name="gboolean" c:type="gboolean"/>
  7506. </parameter>
  7507. </parameters>
  7508. </callback>
  7509. <union name="TypeCValue" c:type="GTypeCValue">
  7510. <doc xml:space="preserve">A union holding one collected value.</doc>
  7511. <field name="v_int" writable="1">
  7512. <doc xml:space="preserve">the field for holding integer values</doc>
  7513. <type name="gint" c:type="gint"/>
  7514. </field>
  7515. <field name="v_long" writable="1">
  7516. <doc xml:space="preserve">the field for holding long integer values</doc>
  7517. <type name="glong" c:type="glong"/>
  7518. </field>
  7519. <field name="v_int64" writable="1">
  7520. <doc xml:space="preserve">the field for holding 64 bit integer values</doc>
  7521. <type name="gint64" c:type="gint64"/>
  7522. </field>
  7523. <field name="v_double" writable="1">
  7524. <doc xml:space="preserve">the field for holding floating point values</doc>
  7525. <type name="gdouble" c:type="gdouble"/>
  7526. </field>
  7527. <field name="v_pointer" writable="1">
  7528. <doc xml:space="preserve">the field for holding pointers</doc>
  7529. <type name="gpointer" c:type="gpointer"/>
  7530. </field>
  7531. </union>
  7532. <record name="TypeClass" c:type="GTypeClass">
  7533. <doc xml:space="preserve">An opaque structure used as the base of all classes.</doc>
  7534. <field name="g_type" readable="0" private="1">
  7535. <type name="GType" c:type="GType"/>
  7536. </field>
  7537. <method name="add_private"
  7538. c:identifier="g_type_class_add_private"
  7539. version="2.4">
  7540. <doc xml:space="preserve">Registers a private structure for an instantiatable type.
  7541. When an object is allocated, the private structures for
  7542. the type and all of its parent types are allocated
  7543. sequentially in the same memory block as the public
  7544. structures, and are zero-filled.
  7545. Note that the accumulated size of the private structures of
  7546. a type and all its parent types cannot exceed 64 KiB.
  7547. This function should be called in the type's class_init() function.
  7548. The private structure can be retrieved using the
  7549. G_TYPE_INSTANCE_GET_PRIVATE() macro.
  7550. The following example shows attaching a private structure
  7551. MyObjectPrivate to an object MyObject defined in the standard
  7552. GObject fashion in the type's class_init() function.
  7553. Note the use of a structure member "priv" to avoid the overhead
  7554. of repeatedly calling MY_OBJECT_GET_PRIVATE().
  7555. |[&lt;!-- language="C" --&gt;
  7556. typedef struct _MyObject MyObject;
  7557. typedef struct _MyObjectPrivate MyObjectPrivate;
  7558. struct _MyObject {
  7559. GObject parent;
  7560. MyObjectPrivate *priv;
  7561. };
  7562. struct _MyObjectPrivate {
  7563. int some_field;
  7564. };
  7565. static void
  7566. my_object_class_init (MyObjectClass *klass)
  7567. {
  7568. g_type_class_add_private (klass, sizeof (MyObjectPrivate));
  7569. }
  7570. static void
  7571. my_object_init (MyObject *my_object)
  7572. {
  7573. my_object-&gt;priv = G_TYPE_INSTANCE_GET_PRIVATE (my_object,
  7574. MY_TYPE_OBJECT,
  7575. MyObjectPrivate);
  7576. // my_object-&gt;priv-&gt;some_field will be automatically initialised to 0
  7577. }
  7578. static int
  7579. my_object_get_some_field (MyObject *my_object)
  7580. {
  7581. MyObjectPrivate *priv;
  7582. g_return_val_if_fail (MY_IS_OBJECT (my_object), 0);
  7583. priv = my_object-&gt;priv;
  7584. return priv-&gt;some_field;
  7585. }
  7586. ]|</doc>
  7587. <return-value transfer-ownership="none">
  7588. <type name="none" c:type="void"/>
  7589. </return-value>
  7590. <parameters>
  7591. <instance-parameter name="g_class" transfer-ownership="none">
  7592. <doc xml:space="preserve">class structure for an instantiatable
  7593. type</doc>
  7594. <type name="TypeClass" c:type="gpointer"/>
  7595. </instance-parameter>
  7596. <parameter name="private_size" transfer-ownership="none">
  7597. <doc xml:space="preserve">size of private structure</doc>
  7598. <type name="gsize" c:type="gsize"/>
  7599. </parameter>
  7600. </parameters>
  7601. </method>
  7602. <method name="get_instance_private_offset"
  7603. c:identifier="g_type_class_get_instance_private_offset"
  7604. version="2.38"
  7605. introspectable="0">
  7606. <doc xml:space="preserve">Gets the offset of the private data for instances of @g_class.
  7607. This is how many bytes you should add to the instance pointer of a
  7608. class in order to get the private data for the type represented by
  7609. @g_class.
  7610. You can only call this function after you have registered a private
  7611. data area for @g_class using g_type_class_add_private().</doc>
  7612. <return-value transfer-ownership="none">
  7613. <doc xml:space="preserve">the offset, in bytes</doc>
  7614. <type name="gint" c:type="gint"/>
  7615. </return-value>
  7616. <parameters>
  7617. <instance-parameter name="g_class" transfer-ownership="none">
  7618. <doc xml:space="preserve">a #GTypeClass</doc>
  7619. <type name="TypeClass" c:type="gpointer"/>
  7620. </instance-parameter>
  7621. </parameters>
  7622. </method>
  7623. <method name="get_private" c:identifier="g_type_class_get_private">
  7624. <return-value transfer-ownership="none" nullable="1">
  7625. <type name="gpointer" c:type="gpointer"/>
  7626. </return-value>
  7627. <parameters>
  7628. <instance-parameter name="klass" transfer-ownership="none">
  7629. <type name="TypeClass" c:type="GTypeClass*"/>
  7630. </instance-parameter>
  7631. <parameter name="private_type" transfer-ownership="none">
  7632. <type name="GType" c:type="GType"/>
  7633. </parameter>
  7634. </parameters>
  7635. </method>
  7636. <method name="peek_parent" c:identifier="g_type_class_peek_parent">
  7637. <doc xml:space="preserve">This is a convenience function often needed in class initializers.
  7638. It returns the class structure of the immediate parent type of the
  7639. class passed in. Since derived classes hold a reference count on
  7640. their parent classes as long as they are instantiated, the returned
  7641. class will always exist.
  7642. This function is essentially equivalent to:
  7643. g_type_class_peek (g_type_parent (G_TYPE_FROM_CLASS (g_class)))</doc>
  7644. <return-value transfer-ownership="none">
  7645. <doc xml:space="preserve">the parent class
  7646. of @g_class</doc>
  7647. <type name="TypeClass" c:type="gpointer"/>
  7648. </return-value>
  7649. <parameters>
  7650. <instance-parameter name="g_class" transfer-ownership="none">
  7651. <doc xml:space="preserve">the #GTypeClass structure to
  7652. retrieve the parent class for</doc>
  7653. <type name="TypeClass" c:type="gpointer"/>
  7654. </instance-parameter>
  7655. </parameters>
  7656. </method>
  7657. <method name="unref" c:identifier="g_type_class_unref">
  7658. <doc xml:space="preserve">Decrements the reference count of the class structure being passed in.
  7659. Once the last reference count of a class has been released, classes
  7660. may be finalized by the type system, so further dereferencing of a
  7661. class pointer after g_type_class_unref() are invalid.</doc>
  7662. <return-value transfer-ownership="none">
  7663. <type name="none" c:type="void"/>
  7664. </return-value>
  7665. <parameters>
  7666. <instance-parameter name="g_class" transfer-ownership="none">
  7667. <doc xml:space="preserve">a #GTypeClass structure to unref</doc>
  7668. <type name="TypeClass" c:type="gpointer"/>
  7669. </instance-parameter>
  7670. </parameters>
  7671. </method>
  7672. <method name="unref_uncached"
  7673. c:identifier="g_type_class_unref_uncached"
  7674. introspectable="0">
  7675. <doc xml:space="preserve">A variant of g_type_class_unref() for use in #GTypeClassCacheFunc
  7676. implementations. It unreferences a class without consulting the chain
  7677. of #GTypeClassCacheFuncs, avoiding the recursion which would occur
  7678. otherwise.</doc>
  7679. <return-value transfer-ownership="none">
  7680. <type name="none" c:type="void"/>
  7681. </return-value>
  7682. <parameters>
  7683. <instance-parameter name="g_class" transfer-ownership="none">
  7684. <doc xml:space="preserve">a #GTypeClass structure to unref</doc>
  7685. <type name="TypeClass" c:type="gpointer"/>
  7686. </instance-parameter>
  7687. </parameters>
  7688. </method>
  7689. <function name="adjust_private_offset"
  7690. c:identifier="g_type_class_adjust_private_offset">
  7691. <return-value transfer-ownership="none">
  7692. <type name="none" c:type="void"/>
  7693. </return-value>
  7694. <parameters>
  7695. <parameter name="g_class"
  7696. transfer-ownership="none"
  7697. nullable="1"
  7698. allow-none="1">
  7699. <type name="gpointer" c:type="gpointer"/>
  7700. </parameter>
  7701. <parameter name="private_size_or_offset" transfer-ownership="none">
  7702. <type name="gint" c:type="gint*"/>
  7703. </parameter>
  7704. </parameters>
  7705. </function>
  7706. <function name="peek" c:identifier="g_type_class_peek">
  7707. <doc xml:space="preserve">This function is essentially the same as g_type_class_ref(),
  7708. except that the classes reference count isn't incremented.
  7709. As a consequence, this function may return %NULL if the class
  7710. of the type passed in does not currently exist (hasn't been
  7711. referenced before).</doc>
  7712. <return-value transfer-ownership="none">
  7713. <doc xml:space="preserve">the #GTypeClass
  7714. structure for the given type ID or %NULL if the class does not
  7715. currently exist</doc>
  7716. <type name="TypeClass" c:type="gpointer"/>
  7717. </return-value>
  7718. <parameters>
  7719. <parameter name="type" transfer-ownership="none">
  7720. <doc xml:space="preserve">type ID of a classed type</doc>
  7721. <type name="GType" c:type="GType"/>
  7722. </parameter>
  7723. </parameters>
  7724. </function>
  7725. <function name="peek_static"
  7726. c:identifier="g_type_class_peek_static"
  7727. version="2.4">
  7728. <doc xml:space="preserve">A more efficient version of g_type_class_peek() which works only for
  7729. static types.</doc>
  7730. <return-value transfer-ownership="none">
  7731. <doc xml:space="preserve">the #GTypeClass
  7732. structure for the given type ID or %NULL if the class does not
  7733. currently exist or is dynamically loaded</doc>
  7734. <type name="TypeClass" c:type="gpointer"/>
  7735. </return-value>
  7736. <parameters>
  7737. <parameter name="type" transfer-ownership="none">
  7738. <doc xml:space="preserve">type ID of a classed type</doc>
  7739. <type name="GType" c:type="GType"/>
  7740. </parameter>
  7741. </parameters>
  7742. </function>
  7743. <function name="ref" c:identifier="g_type_class_ref">
  7744. <doc xml:space="preserve">Increments the reference count of the class structure belonging to
  7745. @type. This function will demand-create the class if it doesn't
  7746. exist already.</doc>
  7747. <return-value transfer-ownership="none">
  7748. <doc xml:space="preserve">the #GTypeClass
  7749. structure for the given type ID</doc>
  7750. <type name="TypeClass" c:type="gpointer"/>
  7751. </return-value>
  7752. <parameters>
  7753. <parameter name="type" transfer-ownership="none">
  7754. <doc xml:space="preserve">type ID of a classed type</doc>
  7755. <type name="GType" c:type="GType"/>
  7756. </parameter>
  7757. </parameters>
  7758. </function>
  7759. </record>
  7760. <callback name="TypeClassCacheFunc" c:type="GTypeClassCacheFunc">
  7761. <doc xml:space="preserve">A callback function which is called when the reference count of a class
  7762. drops to zero. It may use g_type_class_ref() to prevent the class from
  7763. being freed. You should not call g_type_class_unref() from a
  7764. #GTypeClassCacheFunc function to prevent infinite recursion, use
  7765. g_type_class_unref_uncached() instead.
  7766. The functions have to check the class id passed in to figure
  7767. whether they actually want to cache the class of this type, since all
  7768. classes are routed through the same #GTypeClassCacheFunc chain.</doc>
  7769. <return-value transfer-ownership="none">
  7770. <doc xml:space="preserve">%TRUE to stop further #GTypeClassCacheFuncs from being
  7771. called, %FALSE to continue</doc>
  7772. <type name="gboolean" c:type="gboolean"/>
  7773. </return-value>
  7774. <parameters>
  7775. <parameter name="cache_data"
  7776. transfer-ownership="none"
  7777. nullable="1"
  7778. allow-none="1">
  7779. <doc xml:space="preserve">data that was given to the g_type_add_class_cache_func() call</doc>
  7780. <type name="gpointer" c:type="gpointer"/>
  7781. </parameter>
  7782. <parameter name="g_class" transfer-ownership="none">
  7783. <doc xml:space="preserve">The #GTypeClass structure which is
  7784. unreferenced</doc>
  7785. <type name="TypeClass" c:type="GTypeClass*"/>
  7786. </parameter>
  7787. </parameters>
  7788. </callback>
  7789. <bitfield name="TypeDebugFlags"
  7790. deprecated="1"
  7791. deprecated-version="2.36"
  7792. c:type="GTypeDebugFlags">
  7793. <doc xml:space="preserve">These flags used to be passed to g_type_init_with_debug_flags() which
  7794. is now deprecated.
  7795. If you need to enable debugging features, use the GOBJECT_DEBUG
  7796. environment variable.</doc>
  7797. <doc-deprecated xml:space="preserve">g_type_init() is now done automatically</doc-deprecated>
  7798. <member name="none" value="0" c:identifier="G_TYPE_DEBUG_NONE">
  7799. <doc xml:space="preserve">Print no messages</doc>
  7800. </member>
  7801. <member name="objects" value="1" c:identifier="G_TYPE_DEBUG_OBJECTS">
  7802. <doc xml:space="preserve">Print messages about object bookkeeping</doc>
  7803. </member>
  7804. <member name="signals" value="2" c:identifier="G_TYPE_DEBUG_SIGNALS">
  7805. <doc xml:space="preserve">Print messages about signal emissions</doc>
  7806. </member>
  7807. <member name="instance_count"
  7808. value="4"
  7809. c:identifier="G_TYPE_DEBUG_INSTANCE_COUNT">
  7810. <doc xml:space="preserve">Keep a count of instances of each type</doc>
  7811. </member>
  7812. <member name="mask" value="7" c:identifier="G_TYPE_DEBUG_MASK">
  7813. <doc xml:space="preserve">Mask covering all debug flags</doc>
  7814. </member>
  7815. </bitfield>
  7816. <bitfield name="TypeFlags" c:type="GTypeFlags">
  7817. <doc xml:space="preserve">Bit masks used to check or determine characteristics of a type.</doc>
  7818. <member name="abstract" value="16" c:identifier="G_TYPE_FLAG_ABSTRACT">
  7819. <doc xml:space="preserve">Indicates an abstract type. No instances can be
  7820. created for an abstract type</doc>
  7821. </member>
  7822. <member name="value_abstract"
  7823. value="32"
  7824. c:identifier="G_TYPE_FLAG_VALUE_ABSTRACT">
  7825. <doc xml:space="preserve">Indicates an abstract value type, i.e. a type
  7826. that introduces a value table, but can't be used for
  7827. g_value_init()</doc>
  7828. </member>
  7829. </bitfield>
  7830. <bitfield name="TypeFundamentalFlags" c:type="GTypeFundamentalFlags">
  7831. <doc xml:space="preserve">Bit masks used to check or determine specific characteristics of a
  7832. fundamental type.</doc>
  7833. <member name="classed" value="1" c:identifier="G_TYPE_FLAG_CLASSED">
  7834. <doc xml:space="preserve">Indicates a classed type</doc>
  7835. </member>
  7836. <member name="instantiatable"
  7837. value="2"
  7838. c:identifier="G_TYPE_FLAG_INSTANTIATABLE">
  7839. <doc xml:space="preserve">Indicates an instantiable type (implies classed)</doc>
  7840. </member>
  7841. <member name="derivable" value="4" c:identifier="G_TYPE_FLAG_DERIVABLE">
  7842. <doc xml:space="preserve">Indicates a flat derivable type</doc>
  7843. </member>
  7844. <member name="deep_derivable"
  7845. value="8"
  7846. c:identifier="G_TYPE_FLAG_DEEP_DERIVABLE">
  7847. <doc xml:space="preserve">Indicates a deep derivable type (implies derivable)</doc>
  7848. </member>
  7849. </bitfield>
  7850. <record name="TypeFundamentalInfo" c:type="GTypeFundamentalInfo">
  7851. <doc xml:space="preserve">A structure that provides information to the type system which is
  7852. used specifically for managing fundamental types.</doc>
  7853. <field name="type_flags" writable="1">
  7854. <doc xml:space="preserve">#GTypeFundamentalFlags describing the characteristics of the fundamental type</doc>
  7855. <type name="TypeFundamentalFlags" c:type="GTypeFundamentalFlags"/>
  7856. </field>
  7857. </record>
  7858. <record name="TypeInfo" c:type="GTypeInfo">
  7859. <doc xml:space="preserve">This structure is used to provide the type system with the information
  7860. required to initialize and destruct (finalize) a type's class and
  7861. its instances.
  7862. The initialized structure is passed to the g_type_register_static() function
  7863. (or is copied into the provided #GTypeInfo structure in the
  7864. g_type_plugin_complete_type_info()). The type system will perform a deep
  7865. copy of this structure, so its memory does not need to be persistent
  7866. across invocation of g_type_register_static().</doc>
  7867. <field name="class_size" writable="1">
  7868. <doc xml:space="preserve">Size of the class structure (required for interface, classed and instantiatable types)</doc>
  7869. <type name="guint16" c:type="guint16"/>
  7870. </field>
  7871. <field name="base_init" writable="1">
  7872. <doc xml:space="preserve">Location of the base initialization function (optional)</doc>
  7873. <type name="BaseInitFunc" c:type="GBaseInitFunc"/>
  7874. </field>
  7875. <field name="base_finalize" writable="1">
  7876. <doc xml:space="preserve">Location of the base finalization function (optional)</doc>
  7877. <type name="BaseFinalizeFunc" c:type="GBaseFinalizeFunc"/>
  7878. </field>
  7879. <field name="class_init" writable="1">
  7880. <doc xml:space="preserve">Location of the class initialization function for
  7881. classed and instantiatable types. Location of the default vtable
  7882. inititalization function for interface types. (optional) This function
  7883. is used both to fill in virtual functions in the class or default vtable,
  7884. and to do type-specific setup such as registering signals and object
  7885. properties.</doc>
  7886. <type name="ClassInitFunc" c:type="GClassInitFunc"/>
  7887. </field>
  7888. <field name="class_finalize" writable="1">
  7889. <doc xml:space="preserve">Location of the class finalization function for
  7890. classed and instantiatable types. Location of the default vtable
  7891. finalization function for interface types. (optional)</doc>
  7892. <type name="ClassFinalizeFunc" c:type="GClassFinalizeFunc"/>
  7893. </field>
  7894. <field name="class_data" writable="1">
  7895. <doc xml:space="preserve">User-supplied data passed to the class init/finalize functions</doc>
  7896. <type name="gpointer" c:type="gconstpointer"/>
  7897. </field>
  7898. <field name="instance_size" writable="1">
  7899. <doc xml:space="preserve">Size of the instance (object) structure (required for instantiatable types only)</doc>
  7900. <type name="guint16" c:type="guint16"/>
  7901. </field>
  7902. <field name="n_preallocs" writable="1">
  7903. <doc xml:space="preserve">Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10, it is ignored, since instances are allocated with the [slice allocator][glib-Memory-Slices] now.</doc>
  7904. <type name="guint16" c:type="guint16"/>
  7905. </field>
  7906. <field name="instance_init" writable="1">
  7907. <doc xml:space="preserve">Location of the instance initialization function (optional, for instantiatable types only)</doc>
  7908. <type name="InstanceInitFunc" c:type="GInstanceInitFunc"/>
  7909. </field>
  7910. <field name="value_table" writable="1">
  7911. <doc xml:space="preserve">A #GTypeValueTable function table for generic handling of GValues
  7912. of this type (usually only useful for fundamental types)</doc>
  7913. <type name="TypeValueTable" c:type="const GTypeValueTable*"/>
  7914. </field>
  7915. </record>
  7916. <record name="TypeInstance" c:type="GTypeInstance">
  7917. <doc xml:space="preserve">An opaque structure used as the base of all type instances.</doc>
  7918. <field name="g_class" readable="0" private="1">
  7919. <type name="TypeClass" c:type="GTypeClass*"/>
  7920. </field>
  7921. <method name="get_private" c:identifier="g_type_instance_get_private">
  7922. <return-value transfer-ownership="none" nullable="1">
  7923. <type name="gpointer" c:type="gpointer"/>
  7924. </return-value>
  7925. <parameters>
  7926. <instance-parameter name="instance" transfer-ownership="none">
  7927. <type name="TypeInstance" c:type="GTypeInstance*"/>
  7928. </instance-parameter>
  7929. <parameter name="private_type" transfer-ownership="none">
  7930. <type name="GType" c:type="GType"/>
  7931. </parameter>
  7932. </parameters>
  7933. </method>
  7934. </record>
  7935. <record name="TypeInterface" c:type="GTypeInterface">
  7936. <doc xml:space="preserve">An opaque structure used as the base of all interface types.</doc>
  7937. <field name="g_type" readable="0" private="1">
  7938. <type name="GType" c:type="GType"/>
  7939. </field>
  7940. <field name="g_instance_type" readable="0" private="1">
  7941. <type name="GType" c:type="GType"/>
  7942. </field>
  7943. <method name="peek_parent" c:identifier="g_type_interface_peek_parent">
  7944. <doc xml:space="preserve">Returns the corresponding #GTypeInterface structure of the parent type
  7945. of the instance type to which @g_iface belongs. This is useful when
  7946. deriving the implementation of an interface from the parent type and
  7947. then possibly overriding some methods.</doc>
  7948. <return-value transfer-ownership="none">
  7949. <doc xml:space="preserve">the
  7950. corresponding #GTypeInterface structure of the parent type of the
  7951. instance type to which @g_iface belongs, or %NULL if the parent
  7952. type doesn't conform to the interface</doc>
  7953. <type name="TypeInterface" c:type="gpointer"/>
  7954. </return-value>
  7955. <parameters>
  7956. <instance-parameter name="g_iface" transfer-ownership="none">
  7957. <doc xml:space="preserve">a #GTypeInterface structure</doc>
  7958. <type name="TypeInterface" c:type="gpointer"/>
  7959. </instance-parameter>
  7960. </parameters>
  7961. </method>
  7962. <function name="add_prerequisite"
  7963. c:identifier="g_type_interface_add_prerequisite">
  7964. <doc xml:space="preserve">Adds @prerequisite_type to the list of prerequisites of @interface_type.
  7965. This means that any type implementing @interface_type must also implement
  7966. @prerequisite_type. Prerequisites can be thought of as an alternative to
  7967. interface derivation (which GType doesn't support). An interface can have
  7968. at most one instantiatable prerequisite type.</doc>
  7969. <return-value transfer-ownership="none">
  7970. <type name="none" c:type="void"/>
  7971. </return-value>
  7972. <parameters>
  7973. <parameter name="interface_type" transfer-ownership="none">
  7974. <doc xml:space="preserve">#GType value of an interface type</doc>
  7975. <type name="GType" c:type="GType"/>
  7976. </parameter>
  7977. <parameter name="prerequisite_type" transfer-ownership="none">
  7978. <doc xml:space="preserve">#GType value of an interface or instantiatable type</doc>
  7979. <type name="GType" c:type="GType"/>
  7980. </parameter>
  7981. </parameters>
  7982. </function>
  7983. <function name="get_plugin" c:identifier="g_type_interface_get_plugin">
  7984. <doc xml:space="preserve">Returns the #GTypePlugin structure for the dynamic interface
  7985. @interface_type which has been added to @instance_type, or %NULL
  7986. if @interface_type has not been added to @instance_type or does
  7987. not have a #GTypePlugin structure. See g_type_add_interface_dynamic().</doc>
  7988. <return-value transfer-ownership="none">
  7989. <doc xml:space="preserve">the #GTypePlugin for the dynamic
  7990. interface @interface_type of @instance_type</doc>
  7991. <type name="TypePlugin" c:type="GTypePlugin*"/>
  7992. </return-value>
  7993. <parameters>
  7994. <parameter name="instance_type" transfer-ownership="none">
  7995. <doc xml:space="preserve">#GType of an instantiatable type</doc>
  7996. <type name="GType" c:type="GType"/>
  7997. </parameter>
  7998. <parameter name="interface_type" transfer-ownership="none">
  7999. <doc xml:space="preserve">#GType of an interface type</doc>
  8000. <type name="GType" c:type="GType"/>
  8001. </parameter>
  8002. </parameters>
  8003. </function>
  8004. <function name="peek" c:identifier="g_type_interface_peek">
  8005. <doc xml:space="preserve">Returns the #GTypeInterface structure of an interface to which the
  8006. passed in class conforms.</doc>
  8007. <return-value transfer-ownership="none">
  8008. <doc xml:space="preserve">the #GTypeInterface
  8009. structure of @iface_type if implemented by @instance_class, %NULL
  8010. otherwise</doc>
  8011. <type name="TypeInterface" c:type="gpointer"/>
  8012. </return-value>
  8013. <parameters>
  8014. <parameter name="instance_class" transfer-ownership="none">
  8015. <doc xml:space="preserve">a #GTypeClass structure</doc>
  8016. <type name="TypeClass" c:type="gpointer"/>
  8017. </parameter>
  8018. <parameter name="iface_type" transfer-ownership="none">
  8019. <doc xml:space="preserve">an interface ID which this class conforms to</doc>
  8020. <type name="GType" c:type="GType"/>
  8021. </parameter>
  8022. </parameters>
  8023. </function>
  8024. <function name="prerequisites"
  8025. c:identifier="g_type_interface_prerequisites"
  8026. version="2.2">
  8027. <doc xml:space="preserve">Returns the prerequisites of an interfaces type.</doc>
  8028. <return-value transfer-ownership="full">
  8029. <doc xml:space="preserve">a
  8030. newly-allocated zero-terminated array of #GType containing
  8031. the prerequisites of @interface_type</doc>
  8032. <array length="1" zero-terminated="0" c:type="GType*">
  8033. <type name="GType" c:type="GType"/>
  8034. </array>
  8035. </return-value>
  8036. <parameters>
  8037. <parameter name="interface_type" transfer-ownership="none">
  8038. <doc xml:space="preserve">an interface type</doc>
  8039. <type name="GType" c:type="GType"/>
  8040. </parameter>
  8041. <parameter name="n_prerequisites"
  8042. direction="out"
  8043. caller-allocates="0"
  8044. transfer-ownership="full"
  8045. optional="1"
  8046. allow-none="1">
  8047. <doc xml:space="preserve">location to return the number
  8048. of prerequisites, or %NULL</doc>
  8049. <type name="guint" c:type="guint*"/>
  8050. </parameter>
  8051. </parameters>
  8052. </function>
  8053. </record>
  8054. <callback name="TypeInterfaceCheckFunc"
  8055. c:type="GTypeInterfaceCheckFunc"
  8056. version="2.4">
  8057. <doc xml:space="preserve">A callback called after an interface vtable is initialized.
  8058. See g_type_add_interface_check().</doc>
  8059. <return-value transfer-ownership="none">
  8060. <type name="none" c:type="void"/>
  8061. </return-value>
  8062. <parameters>
  8063. <parameter name="check_data"
  8064. transfer-ownership="none"
  8065. nullable="1"
  8066. allow-none="1">
  8067. <doc xml:space="preserve">data passed to g_type_add_interface_check()</doc>
  8068. <type name="gpointer" c:type="gpointer"/>
  8069. </parameter>
  8070. <parameter name="g_iface" transfer-ownership="none">
  8071. <doc xml:space="preserve">the interface that has been
  8072. initialized</doc>
  8073. <type name="TypeInterface" c:type="gpointer"/>
  8074. </parameter>
  8075. </parameters>
  8076. </callback>
  8077. <class name="TypeModule"
  8078. c:symbol-prefix="type_module"
  8079. c:type="GTypeModule"
  8080. parent="Object"
  8081. abstract="1"
  8082. glib:type-name="GTypeModule"
  8083. glib:get-type="g_type_module_get_type"
  8084. glib:type-struct="TypeModuleClass">
  8085. <doc xml:space="preserve">#GTypeModule provides a simple implementation of the #GTypePlugin
  8086. interface. The model of #GTypeModule is a dynamically loaded module
  8087. which implements some number of types and interface implementations.
  8088. When the module is loaded, it registers its types and interfaces
  8089. using g_type_module_register_type() and g_type_module_add_interface().
  8090. As long as any instances of these types and interface implementations
  8091. are in use, the module is kept loaded. When the types and interfaces
  8092. are gone, the module may be unloaded. If the types and interfaces
  8093. become used again, the module will be reloaded. Note that the last
  8094. unref cannot happen in module code, since that would lead to the
  8095. caller's code being unloaded before g_object_unref() returns to it.
  8096. Keeping track of whether the module should be loaded or not is done by
  8097. using a use count - it starts at zero, and whenever it is greater than
  8098. zero, the module is loaded. The use count is maintained internally by
  8099. the type system, but also can be explicitly controlled by
  8100. g_type_module_use() and g_type_module_unuse(). Typically, when loading
  8101. a module for the first type, g_type_module_use() will be used to load
  8102. it so that it can initialize its types. At some later point, when the
  8103. module no longer needs to be loaded except for the type
  8104. implementations it contains, g_type_module_unuse() is called.
  8105. #GTypeModule does not actually provide any implementation of module
  8106. loading and unloading. To create a particular module type you must
  8107. derive from #GTypeModule and implement the load and unload functions
  8108. in #GTypeModuleClass.</doc>
  8109. <implements name="TypePlugin"/>
  8110. <virtual-method name="load">
  8111. <return-value transfer-ownership="none">
  8112. <type name="gboolean" c:type="gboolean"/>
  8113. </return-value>
  8114. <parameters>
  8115. <instance-parameter name="module" transfer-ownership="none">
  8116. <type name="TypeModule" c:type="GTypeModule*"/>
  8117. </instance-parameter>
  8118. </parameters>
  8119. </virtual-method>
  8120. <virtual-method name="unload">
  8121. <return-value transfer-ownership="none">
  8122. <type name="none" c:type="void"/>
  8123. </return-value>
  8124. <parameters>
  8125. <instance-parameter name="module" transfer-ownership="none">
  8126. <type name="TypeModule" c:type="GTypeModule*"/>
  8127. </instance-parameter>
  8128. </parameters>
  8129. </virtual-method>
  8130. <method name="add_interface" c:identifier="g_type_module_add_interface">
  8131. <doc xml:space="preserve">Registers an additional interface for a type, whose interface lives
  8132. in the given type plugin. If the interface was already registered
  8133. for the type in this plugin, nothing will be done.
  8134. As long as any instances of the type exist, the type plugin will
  8135. not be unloaded.</doc>
  8136. <return-value transfer-ownership="none">
  8137. <type name="none" c:type="void"/>
  8138. </return-value>
  8139. <parameters>
  8140. <instance-parameter name="module" transfer-ownership="none">
  8141. <doc xml:space="preserve">a #GTypeModule</doc>
  8142. <type name="TypeModule" c:type="GTypeModule*"/>
  8143. </instance-parameter>
  8144. <parameter name="instance_type" transfer-ownership="none">
  8145. <doc xml:space="preserve">type to which to add the interface.</doc>
  8146. <type name="GType" c:type="GType"/>
  8147. </parameter>
  8148. <parameter name="interface_type" transfer-ownership="none">
  8149. <doc xml:space="preserve">interface type to add</doc>
  8150. <type name="GType" c:type="GType"/>
  8151. </parameter>
  8152. <parameter name="interface_info" transfer-ownership="none">
  8153. <doc xml:space="preserve">type information structure</doc>
  8154. <type name="InterfaceInfo" c:type="const GInterfaceInfo*"/>
  8155. </parameter>
  8156. </parameters>
  8157. </method>
  8158. <method name="register_enum"
  8159. c:identifier="g_type_module_register_enum"
  8160. version="2.6">
  8161. <doc xml:space="preserve">Looks up or registers an enumeration that is implemented with a particular
  8162. type plugin. If a type with name @type_name was previously registered,
  8163. the #GType identifier for the type is returned, otherwise the type
  8164. is newly registered, and the resulting #GType identifier returned.
  8165. As long as any instances of the type exist, the type plugin will
  8166. not be unloaded.</doc>
  8167. <return-value transfer-ownership="none">
  8168. <doc xml:space="preserve">the new or existing type ID</doc>
  8169. <type name="GType" c:type="GType"/>
  8170. </return-value>
  8171. <parameters>
  8172. <instance-parameter name="module" transfer-ownership="none">
  8173. <doc xml:space="preserve">a #GTypeModule</doc>
  8174. <type name="TypeModule" c:type="GTypeModule*"/>
  8175. </instance-parameter>
  8176. <parameter name="name" transfer-ownership="none">
  8177. <doc xml:space="preserve">name for the type</doc>
  8178. <type name="utf8" c:type="const gchar*"/>
  8179. </parameter>
  8180. <parameter name="const_static_values" transfer-ownership="none">
  8181. <doc xml:space="preserve">an array of #GEnumValue structs for the
  8182. possible enumeration values. The array is
  8183. terminated by a struct with all members being
  8184. 0.</doc>
  8185. <type name="EnumValue" c:type="const GEnumValue*"/>
  8186. </parameter>
  8187. </parameters>
  8188. </method>
  8189. <method name="register_flags"
  8190. c:identifier="g_type_module_register_flags"
  8191. version="2.6">
  8192. <doc xml:space="preserve">Looks up or registers a flags type that is implemented with a particular
  8193. type plugin. If a type with name @type_name was previously registered,
  8194. the #GType identifier for the type is returned, otherwise the type
  8195. is newly registered, and the resulting #GType identifier returned.
  8196. As long as any instances of the type exist, the type plugin will
  8197. not be unloaded.</doc>
  8198. <return-value transfer-ownership="none">
  8199. <doc xml:space="preserve">the new or existing type ID</doc>
  8200. <type name="GType" c:type="GType"/>
  8201. </return-value>
  8202. <parameters>
  8203. <instance-parameter name="module" transfer-ownership="none">
  8204. <doc xml:space="preserve">a #GTypeModule</doc>
  8205. <type name="TypeModule" c:type="GTypeModule*"/>
  8206. </instance-parameter>
  8207. <parameter name="name" transfer-ownership="none">
  8208. <doc xml:space="preserve">name for the type</doc>
  8209. <type name="utf8" c:type="const gchar*"/>
  8210. </parameter>
  8211. <parameter name="const_static_values" transfer-ownership="none">
  8212. <doc xml:space="preserve">an array of #GFlagsValue structs for the
  8213. possible flags values. The array is
  8214. terminated by a struct with all members being
  8215. 0.</doc>
  8216. <type name="FlagsValue" c:type="const GFlagsValue*"/>
  8217. </parameter>
  8218. </parameters>
  8219. </method>
  8220. <method name="register_type" c:identifier="g_type_module_register_type">
  8221. <doc xml:space="preserve">Looks up or registers a type that is implemented with a particular
  8222. type plugin. If a type with name @type_name was previously registered,
  8223. the #GType identifier for the type is returned, otherwise the type
  8224. is newly registered, and the resulting #GType identifier returned.
  8225. When reregistering a type (typically because a module is unloaded
  8226. then reloaded, and reinitialized), @module and @parent_type must
  8227. be the same as they were previously.
  8228. As long as any instances of the type exist, the type plugin will
  8229. not be unloaded.</doc>
  8230. <return-value transfer-ownership="none">
  8231. <doc xml:space="preserve">the new or existing type ID</doc>
  8232. <type name="GType" c:type="GType"/>
  8233. </return-value>
  8234. <parameters>
  8235. <instance-parameter name="module" transfer-ownership="none">
  8236. <doc xml:space="preserve">a #GTypeModule</doc>
  8237. <type name="TypeModule" c:type="GTypeModule*"/>
  8238. </instance-parameter>
  8239. <parameter name="parent_type" transfer-ownership="none">
  8240. <doc xml:space="preserve">the type for the parent class</doc>
  8241. <type name="GType" c:type="GType"/>
  8242. </parameter>
  8243. <parameter name="type_name" transfer-ownership="none">
  8244. <doc xml:space="preserve">name for the type</doc>
  8245. <type name="utf8" c:type="const gchar*"/>
  8246. </parameter>
  8247. <parameter name="type_info" transfer-ownership="none">
  8248. <doc xml:space="preserve">type information structure</doc>
  8249. <type name="TypeInfo" c:type="const GTypeInfo*"/>
  8250. </parameter>
  8251. <parameter name="flags" transfer-ownership="none">
  8252. <doc xml:space="preserve">flags field providing details about the type</doc>
  8253. <type name="TypeFlags" c:type="GTypeFlags"/>
  8254. </parameter>
  8255. </parameters>
  8256. </method>
  8257. <method name="set_name" c:identifier="g_type_module_set_name">
  8258. <doc xml:space="preserve">Sets the name for a #GTypeModule</doc>
  8259. <return-value transfer-ownership="none">
  8260. <type name="none" c:type="void"/>
  8261. </return-value>
  8262. <parameters>
  8263. <instance-parameter name="module" transfer-ownership="none">
  8264. <doc xml:space="preserve">a #GTypeModule.</doc>
  8265. <type name="TypeModule" c:type="GTypeModule*"/>
  8266. </instance-parameter>
  8267. <parameter name="name" transfer-ownership="none">
  8268. <doc xml:space="preserve">a human-readable name to use in error messages.</doc>
  8269. <type name="utf8" c:type="const gchar*"/>
  8270. </parameter>
  8271. </parameters>
  8272. </method>
  8273. <method name="unuse" c:identifier="g_type_module_unuse">
  8274. <doc xml:space="preserve">Decreases the use count of a #GTypeModule by one. If the
  8275. result is zero, the module will be unloaded. (However, the
  8276. #GTypeModule will not be freed, and types associated with the
  8277. #GTypeModule are not unregistered. Once a #GTypeModule is
  8278. initialized, it must exist forever.)</doc>
  8279. <return-value transfer-ownership="none">
  8280. <type name="none" c:type="void"/>
  8281. </return-value>
  8282. <parameters>
  8283. <instance-parameter name="module" transfer-ownership="none">
  8284. <doc xml:space="preserve">a #GTypeModule</doc>
  8285. <type name="TypeModule" c:type="GTypeModule*"/>
  8286. </instance-parameter>
  8287. </parameters>
  8288. </method>
  8289. <method name="use" c:identifier="g_type_module_use">
  8290. <doc xml:space="preserve">Increases the use count of a #GTypeModule by one. If the
  8291. use count was zero before, the plugin will be loaded.
  8292. If loading the plugin fails, the use count is reset to
  8293. its prior value.</doc>
  8294. <return-value transfer-ownership="none">
  8295. <doc xml:space="preserve">%FALSE if the plugin needed to be loaded and
  8296. loading the plugin failed.</doc>
  8297. <type name="gboolean" c:type="gboolean"/>
  8298. </return-value>
  8299. <parameters>
  8300. <instance-parameter name="module" transfer-ownership="none">
  8301. <doc xml:space="preserve">a #GTypeModule</doc>
  8302. <type name="TypeModule" c:type="GTypeModule*"/>
  8303. </instance-parameter>
  8304. </parameters>
  8305. </method>
  8306. <field name="parent_instance">
  8307. <type name="Object" c:type="GObject"/>
  8308. </field>
  8309. <field name="use_count">
  8310. <type name="guint" c:type="guint"/>
  8311. </field>
  8312. <field name="type_infos">
  8313. <type name="GLib.SList" c:type="GSList*">
  8314. <type name="gpointer" c:type="gpointer"/>
  8315. </type>
  8316. </field>
  8317. <field name="interface_infos">
  8318. <type name="GLib.SList" c:type="GSList*">
  8319. <type name="gpointer" c:type="gpointer"/>
  8320. </type>
  8321. </field>
  8322. <field name="name">
  8323. <doc xml:space="preserve">the name of the module</doc>
  8324. <type name="utf8" c:type="gchar*"/>
  8325. </field>
  8326. </class>
  8327. <record name="TypeModuleClass"
  8328. c:type="GTypeModuleClass"
  8329. glib:is-gtype-struct-for="TypeModule">
  8330. <doc xml:space="preserve">In order to implement dynamic loading of types based on #GTypeModule,
  8331. the @load and @unload functions in #GTypeModuleClass must be implemented.</doc>
  8332. <field name="parent_class">
  8333. <doc xml:space="preserve">the parent class</doc>
  8334. <type name="ObjectClass" c:type="GObjectClass"/>
  8335. </field>
  8336. <field name="load">
  8337. <callback name="load">
  8338. <return-value transfer-ownership="none">
  8339. <type name="gboolean" c:type="gboolean"/>
  8340. </return-value>
  8341. <parameters>
  8342. <parameter name="module" transfer-ownership="none">
  8343. <type name="TypeModule" c:type="GTypeModule*"/>
  8344. </parameter>
  8345. </parameters>
  8346. </callback>
  8347. </field>
  8348. <field name="unload">
  8349. <callback name="unload">
  8350. <return-value transfer-ownership="none">
  8351. <type name="none" c:type="void"/>
  8352. </return-value>
  8353. <parameters>
  8354. <parameter name="module" transfer-ownership="none">
  8355. <type name="TypeModule" c:type="GTypeModule*"/>
  8356. </parameter>
  8357. </parameters>
  8358. </callback>
  8359. </field>
  8360. <field name="reserved1">
  8361. <callback name="reserved1">
  8362. <return-value transfer-ownership="none">
  8363. <type name="none" c:type="void"/>
  8364. </return-value>
  8365. </callback>
  8366. </field>
  8367. <field name="reserved2">
  8368. <callback name="reserved2">
  8369. <return-value transfer-ownership="none">
  8370. <type name="none" c:type="void"/>
  8371. </return-value>
  8372. </callback>
  8373. </field>
  8374. <field name="reserved3">
  8375. <callback name="reserved3">
  8376. <return-value transfer-ownership="none">
  8377. <type name="none" c:type="void"/>
  8378. </return-value>
  8379. </callback>
  8380. </field>
  8381. <field name="reserved4">
  8382. <callback name="reserved4">
  8383. <return-value transfer-ownership="none">
  8384. <type name="none" c:type="void"/>
  8385. </return-value>
  8386. </callback>
  8387. </field>
  8388. </record>
  8389. <interface name="TypePlugin"
  8390. c:symbol-prefix="type_plugin"
  8391. c:type="GTypePlugin"
  8392. glib:type-name="GTypePlugin"
  8393. glib:get-type="g_type_plugin_get_type">
  8394. <doc xml:space="preserve">The GObject type system supports dynamic loading of types.
  8395. The #GTypePlugin interface is used to handle the lifecycle
  8396. of dynamically loaded types. It goes as follows:
  8397. 1. The type is initially introduced (usually upon loading the module
  8398. the first time, or by your main application that knows what modules
  8399. introduces what types), like this:
  8400. |[&lt;!-- language="C" --&gt;
  8401. new_type_id = g_type_register_dynamic (parent_type_id,
  8402. "TypeName",
  8403. new_type_plugin,
  8404. type_flags);
  8405. ]|
  8406. where @new_type_plugin is an implementation of the
  8407. #GTypePlugin interface.
  8408. 2. The type's implementation is referenced, e.g. through
  8409. g_type_class_ref() or through g_type_create_instance() (this is
  8410. being called by g_object_new()) or through one of the above done on
  8411. a type derived from @new_type_id.
  8412. 3. This causes the type system to load the type's implementation by
  8413. calling g_type_plugin_use() and g_type_plugin_complete_type_info()
  8414. on @new_type_plugin.
  8415. 4. At some point the type's implementation isn't required anymore,
  8416. e.g. after g_type_class_unref() or g_type_free_instance() (called
  8417. when the reference count of an instance drops to zero).
  8418. 5. This causes the type system to throw away the information retrieved
  8419. from g_type_plugin_complete_type_info() and then it calls
  8420. g_type_plugin_unuse() on @new_type_plugin.
  8421. 6. Things may repeat from the second step.
  8422. So basically, you need to implement a #GTypePlugin type that
  8423. carries a use_count, once use_count goes from zero to one, you need
  8424. to load the implementation to successfully handle the upcoming
  8425. g_type_plugin_complete_type_info() call. Later, maybe after
  8426. succeeding use/unuse calls, once use_count drops to zero, you can
  8427. unload the implementation again. The type system makes sure to call
  8428. g_type_plugin_use() and g_type_plugin_complete_type_info() again
  8429. when the type is needed again.
  8430. #GTypeModule is an implementation of #GTypePlugin that already
  8431. implements most of this except for the actual module loading and
  8432. unloading. It even handles multiple registered types per module.</doc>
  8433. <method name="complete_interface_info"
  8434. c:identifier="g_type_plugin_complete_interface_info">
  8435. <doc xml:space="preserve">Calls the @complete_interface_info function from the
  8436. #GTypePluginClass of @plugin. There should be no need to use this
  8437. function outside of the GObject type system itself.</doc>
  8438. <return-value transfer-ownership="none">
  8439. <type name="none" c:type="void"/>
  8440. </return-value>
  8441. <parameters>
  8442. <instance-parameter name="plugin" transfer-ownership="none">
  8443. <doc xml:space="preserve">the #GTypePlugin</doc>
  8444. <type name="TypePlugin" c:type="GTypePlugin*"/>
  8445. </instance-parameter>
  8446. <parameter name="instance_type" transfer-ownership="none">
  8447. <doc xml:space="preserve">the #GType of an instantiable type to which the interface
  8448. is added</doc>
  8449. <type name="GType" c:type="GType"/>
  8450. </parameter>
  8451. <parameter name="interface_type" transfer-ownership="none">
  8452. <doc xml:space="preserve">the #GType of the interface whose info is completed</doc>
  8453. <type name="GType" c:type="GType"/>
  8454. </parameter>
  8455. <parameter name="info" transfer-ownership="none">
  8456. <doc xml:space="preserve">the #GInterfaceInfo to fill in</doc>
  8457. <type name="InterfaceInfo" c:type="GInterfaceInfo*"/>
  8458. </parameter>
  8459. </parameters>
  8460. </method>
  8461. <method name="complete_type_info"
  8462. c:identifier="g_type_plugin_complete_type_info">
  8463. <doc xml:space="preserve">Calls the @complete_type_info function from the #GTypePluginClass of @plugin.
  8464. There should be no need to use this function outside of the GObject
  8465. type system itself.</doc>
  8466. <return-value transfer-ownership="none">
  8467. <type name="none" c:type="void"/>
  8468. </return-value>
  8469. <parameters>
  8470. <instance-parameter name="plugin" transfer-ownership="none">
  8471. <doc xml:space="preserve">a #GTypePlugin</doc>
  8472. <type name="TypePlugin" c:type="GTypePlugin*"/>
  8473. </instance-parameter>
  8474. <parameter name="g_type" transfer-ownership="none">
  8475. <doc xml:space="preserve">the #GType whose info is completed</doc>
  8476. <type name="GType" c:type="GType"/>
  8477. </parameter>
  8478. <parameter name="info" transfer-ownership="none">
  8479. <doc xml:space="preserve">the #GTypeInfo struct to fill in</doc>
  8480. <type name="TypeInfo" c:type="GTypeInfo*"/>
  8481. </parameter>
  8482. <parameter name="value_table" transfer-ownership="none">
  8483. <doc xml:space="preserve">the #GTypeValueTable to fill in</doc>
  8484. <type name="TypeValueTable" c:type="GTypeValueTable*"/>
  8485. </parameter>
  8486. </parameters>
  8487. </method>
  8488. <method name="unuse" c:identifier="g_type_plugin_unuse">
  8489. <doc xml:space="preserve">Calls the @unuse_plugin function from the #GTypePluginClass of
  8490. @plugin. There should be no need to use this function outside of
  8491. the GObject type system itself.</doc>
  8492. <return-value transfer-ownership="none">
  8493. <type name="none" c:type="void"/>
  8494. </return-value>
  8495. <parameters>
  8496. <instance-parameter name="plugin" transfer-ownership="none">
  8497. <doc xml:space="preserve">a #GTypePlugin</doc>
  8498. <type name="TypePlugin" c:type="GTypePlugin*"/>
  8499. </instance-parameter>
  8500. </parameters>
  8501. </method>
  8502. <method name="use" c:identifier="g_type_plugin_use">
  8503. <doc xml:space="preserve">Calls the @use_plugin function from the #GTypePluginClass of
  8504. @plugin. There should be no need to use this function outside of
  8505. the GObject type system itself.</doc>
  8506. <return-value transfer-ownership="none">
  8507. <type name="none" c:type="void"/>
  8508. </return-value>
  8509. <parameters>
  8510. <instance-parameter name="plugin" transfer-ownership="none">
  8511. <doc xml:space="preserve">a #GTypePlugin</doc>
  8512. <type name="TypePlugin" c:type="GTypePlugin*"/>
  8513. </instance-parameter>
  8514. </parameters>
  8515. </method>
  8516. </interface>
  8517. <record name="TypePluginClass" c:type="GTypePluginClass">
  8518. <doc xml:space="preserve">The #GTypePlugin interface is used by the type system in order to handle
  8519. the lifecycle of dynamically loaded types.</doc>
  8520. <field name="base_iface" readable="0" private="1">
  8521. <type name="TypeInterface" c:type="GTypeInterface"/>
  8522. </field>
  8523. <field name="use_plugin" writable="1">
  8524. <doc xml:space="preserve">Increases the use count of the plugin.</doc>
  8525. <type name="TypePluginUse" c:type="GTypePluginUse"/>
  8526. </field>
  8527. <field name="unuse_plugin" writable="1">
  8528. <doc xml:space="preserve">Decreases the use count of the plugin.</doc>
  8529. <type name="TypePluginUnuse" c:type="GTypePluginUnuse"/>
  8530. </field>
  8531. <field name="complete_type_info" writable="1">
  8532. <doc xml:space="preserve">Fills in the #GTypeInfo and
  8533. #GTypeValueTable structs for the type. The structs are initialized
  8534. with `memset(s, 0, sizeof (s))` before calling this function.</doc>
  8535. <type name="TypePluginCompleteTypeInfo"
  8536. c:type="GTypePluginCompleteTypeInfo"/>
  8537. </field>
  8538. <field name="complete_interface_info" writable="1">
  8539. <doc xml:space="preserve">Fills in missing parts of the #GInterfaceInfo
  8540. for the interface. The structs is initialized with
  8541. `memset(s, 0, sizeof (s))` before calling this function.</doc>
  8542. <type name="TypePluginCompleteInterfaceInfo"
  8543. c:type="GTypePluginCompleteInterfaceInfo"/>
  8544. </field>
  8545. </record>
  8546. <callback name="TypePluginCompleteInterfaceInfo"
  8547. c:type="GTypePluginCompleteInterfaceInfo">
  8548. <doc xml:space="preserve">The type of the @complete_interface_info function of #GTypePluginClass.</doc>
  8549. <return-value transfer-ownership="none">
  8550. <type name="none" c:type="void"/>
  8551. </return-value>
  8552. <parameters>
  8553. <parameter name="plugin" transfer-ownership="none">
  8554. <doc xml:space="preserve">the #GTypePlugin</doc>
  8555. <type name="TypePlugin" c:type="GTypePlugin*"/>
  8556. </parameter>
  8557. <parameter name="instance_type" transfer-ownership="none">
  8558. <doc xml:space="preserve">the #GType of an instantiable type to which the interface
  8559. is added</doc>
  8560. <type name="GType" c:type="GType"/>
  8561. </parameter>
  8562. <parameter name="interface_type" transfer-ownership="none">
  8563. <doc xml:space="preserve">the #GType of the interface whose info is completed</doc>
  8564. <type name="GType" c:type="GType"/>
  8565. </parameter>
  8566. <parameter name="info" transfer-ownership="none">
  8567. <doc xml:space="preserve">the #GInterfaceInfo to fill in</doc>
  8568. <type name="InterfaceInfo" c:type="GInterfaceInfo*"/>
  8569. </parameter>
  8570. </parameters>
  8571. </callback>
  8572. <callback name="TypePluginCompleteTypeInfo"
  8573. c:type="GTypePluginCompleteTypeInfo">
  8574. <doc xml:space="preserve">The type of the @complete_type_info function of #GTypePluginClass.</doc>
  8575. <return-value transfer-ownership="none">
  8576. <type name="none" c:type="void"/>
  8577. </return-value>
  8578. <parameters>
  8579. <parameter name="plugin" transfer-ownership="none">
  8580. <doc xml:space="preserve">the #GTypePlugin</doc>
  8581. <type name="TypePlugin" c:type="GTypePlugin*"/>
  8582. </parameter>
  8583. <parameter name="g_type" transfer-ownership="none">
  8584. <doc xml:space="preserve">the #GType whose info is completed</doc>
  8585. <type name="GType" c:type="GType"/>
  8586. </parameter>
  8587. <parameter name="info" transfer-ownership="none">
  8588. <doc xml:space="preserve">the #GTypeInfo struct to fill in</doc>
  8589. <type name="TypeInfo" c:type="GTypeInfo*"/>
  8590. </parameter>
  8591. <parameter name="value_table" transfer-ownership="none">
  8592. <doc xml:space="preserve">the #GTypeValueTable to fill in</doc>
  8593. <type name="TypeValueTable" c:type="GTypeValueTable*"/>
  8594. </parameter>
  8595. </parameters>
  8596. </callback>
  8597. <callback name="TypePluginUnuse" c:type="GTypePluginUnuse">
  8598. <doc xml:space="preserve">The type of the @unuse_plugin function of #GTypePluginClass.</doc>
  8599. <return-value transfer-ownership="none">
  8600. <type name="none" c:type="void"/>
  8601. </return-value>
  8602. <parameters>
  8603. <parameter name="plugin" transfer-ownership="none">
  8604. <doc xml:space="preserve">the #GTypePlugin whose use count should be decreased</doc>
  8605. <type name="TypePlugin" c:type="GTypePlugin*"/>
  8606. </parameter>
  8607. </parameters>
  8608. </callback>
  8609. <callback name="TypePluginUse" c:type="GTypePluginUse">
  8610. <doc xml:space="preserve">The type of the @use_plugin function of #GTypePluginClass, which gets called
  8611. to increase the use count of @plugin.</doc>
  8612. <return-value transfer-ownership="none">
  8613. <type name="none" c:type="void"/>
  8614. </return-value>
  8615. <parameters>
  8616. <parameter name="plugin" transfer-ownership="none">
  8617. <doc xml:space="preserve">the #GTypePlugin whose use count should be increased</doc>
  8618. <type name="TypePlugin" c:type="GTypePlugin*"/>
  8619. </parameter>
  8620. </parameters>
  8621. </callback>
  8622. <record name="TypeQuery" c:type="GTypeQuery">
  8623. <doc xml:space="preserve">A structure holding information for a specific type.
  8624. It is filled in by the g_type_query() function.</doc>
  8625. <field name="type" writable="1">
  8626. <doc xml:space="preserve">the #GType value of the type</doc>
  8627. <type name="GType" c:type="GType"/>
  8628. </field>
  8629. <field name="type_name" writable="1">
  8630. <doc xml:space="preserve">the name of the type</doc>
  8631. <type name="utf8" c:type="const gchar*"/>
  8632. </field>
  8633. <field name="class_size" writable="1">
  8634. <doc xml:space="preserve">the size of the class structure</doc>
  8635. <type name="guint" c:type="guint"/>
  8636. </field>
  8637. <field name="instance_size" writable="1">
  8638. <doc xml:space="preserve">the size of the instance structure</doc>
  8639. <type name="guint" c:type="guint"/>
  8640. </field>
  8641. </record>
  8642. <record name="TypeValueTable" c:type="GTypeValueTable">
  8643. <doc xml:space="preserve">The #GTypeValueTable provides the functions required by the #GValue
  8644. implementation, to serve as a container for values of a type.</doc>
  8645. <field name="value_init">
  8646. <callback name="value_init">
  8647. <return-value transfer-ownership="none">
  8648. <type name="none" c:type="void"/>
  8649. </return-value>
  8650. <parameters>
  8651. <parameter name="value" transfer-ownership="none">
  8652. <type name="Value" c:type="GValue*"/>
  8653. </parameter>
  8654. </parameters>
  8655. </callback>
  8656. </field>
  8657. <field name="value_free">
  8658. <callback name="value_free">
  8659. <return-value transfer-ownership="none">
  8660. <type name="none" c:type="void"/>
  8661. </return-value>
  8662. <parameters>
  8663. <parameter name="value" transfer-ownership="none">
  8664. <type name="Value" c:type="GValue*"/>
  8665. </parameter>
  8666. </parameters>
  8667. </callback>
  8668. </field>
  8669. <field name="value_copy">
  8670. <callback name="value_copy">
  8671. <return-value transfer-ownership="none">
  8672. <type name="none" c:type="void"/>
  8673. </return-value>
  8674. <parameters>
  8675. <parameter name="src_value" transfer-ownership="none">
  8676. <type name="Value" c:type="const GValue*"/>
  8677. </parameter>
  8678. <parameter name="dest_value" transfer-ownership="none">
  8679. <type name="Value" c:type="GValue*"/>
  8680. </parameter>
  8681. </parameters>
  8682. </callback>
  8683. </field>
  8684. <field name="value_peek_pointer">
  8685. <callback name="value_peek_pointer">
  8686. <return-value transfer-ownership="none">
  8687. <type name="gpointer" c:type="gpointer"/>
  8688. </return-value>
  8689. <parameters>
  8690. <parameter name="value" transfer-ownership="none">
  8691. <type name="Value" c:type="const GValue*"/>
  8692. </parameter>
  8693. </parameters>
  8694. </callback>
  8695. </field>
  8696. <field name="collect_format" writable="1">
  8697. <doc xml:space="preserve">A string format describing how to collect the contents of
  8698. this value bit-by-bit. Each character in the format represents
  8699. an argument to be collected, and the characters themselves indicate
  8700. the type of the argument. Currently supported arguments are:
  8701. - 'i' - Integers. passed as collect_values[].v_int.
  8702. - 'l' - Longs. passed as collect_values[].v_long.
  8703. - 'd' - Doubles. passed as collect_values[].v_double.
  8704. - 'p' - Pointers. passed as collect_values[].v_pointer.
  8705. It should be noted that for variable argument list construction,
  8706. ANSI C promotes every type smaller than an integer to an int, and
  8707. floats to doubles. So for collection of short int or char, 'i'
  8708. needs to be used, and for collection of floats 'd'.</doc>
  8709. <type name="utf8" c:type="const gchar*"/>
  8710. </field>
  8711. <field name="collect_value">
  8712. <callback name="collect_value">
  8713. <return-value transfer-ownership="full">
  8714. <type name="utf8" c:type="gchar*"/>
  8715. </return-value>
  8716. <parameters>
  8717. <parameter name="value" transfer-ownership="none">
  8718. <type name="Value" c:type="GValue*"/>
  8719. </parameter>
  8720. <parameter name="n_collect_values" transfer-ownership="none">
  8721. <type name="guint" c:type="guint"/>
  8722. </parameter>
  8723. <parameter name="collect_values" transfer-ownership="none">
  8724. <type name="TypeCValue" c:type="GTypeCValue*"/>
  8725. </parameter>
  8726. <parameter name="collect_flags" transfer-ownership="none">
  8727. <type name="guint" c:type="guint"/>
  8728. </parameter>
  8729. </parameters>
  8730. </callback>
  8731. </field>
  8732. <field name="lcopy_format" writable="1">
  8733. <doc xml:space="preserve">Format description of the arguments to collect for @lcopy_value,
  8734. analogous to @collect_format. Usually, @lcopy_format string consists
  8735. only of 'p's to provide lcopy_value() with pointers to storage locations.</doc>
  8736. <type name="utf8" c:type="const gchar*"/>
  8737. </field>
  8738. <field name="lcopy_value">
  8739. <callback name="lcopy_value">
  8740. <return-value transfer-ownership="full">
  8741. <type name="utf8" c:type="gchar*"/>
  8742. </return-value>
  8743. <parameters>
  8744. <parameter name="value" transfer-ownership="none">
  8745. <type name="Value" c:type="const GValue*"/>
  8746. </parameter>
  8747. <parameter name="n_collect_values" transfer-ownership="none">
  8748. <type name="guint" c:type="guint"/>
  8749. </parameter>
  8750. <parameter name="collect_values" transfer-ownership="none">
  8751. <type name="TypeCValue" c:type="GTypeCValue*"/>
  8752. </parameter>
  8753. <parameter name="collect_flags" transfer-ownership="none">
  8754. <type name="guint" c:type="guint"/>
  8755. </parameter>
  8756. </parameters>
  8757. </callback>
  8758. </field>
  8759. <function name="peek"
  8760. c:identifier="g_type_value_table_peek"
  8761. introspectable="0">
  8762. <doc xml:space="preserve">Returns the location of the #GTypeValueTable associated with @type.
  8763. Note that this function should only be used from source code
  8764. that implements or has internal knowledge of the implementation of
  8765. @type.</doc>
  8766. <return-value>
  8767. <doc xml:space="preserve">location of the #GTypeValueTable associated with @type or
  8768. %NULL if there is no #GTypeValueTable associated with @type</doc>
  8769. <type name="TypeValueTable" c:type="GTypeValueTable*"/>
  8770. </return-value>
  8771. <parameters>
  8772. <parameter name="type" transfer-ownership="none">
  8773. <doc xml:space="preserve">a #GType</doc>
  8774. <type name="GType" c:type="GType"/>
  8775. </parameter>
  8776. </parameters>
  8777. </function>
  8778. </record>
  8779. <constant name="VALUE_COLLECT_FORMAT_MAX_LENGTH"
  8780. value="8"
  8781. c:type="G_VALUE_COLLECT_FORMAT_MAX_LENGTH">
  8782. <doc xml:space="preserve">The maximal number of #GTypeCValues which can be collected for a
  8783. single #GValue.</doc>
  8784. <type name="gint" c:type="gint"/>
  8785. </constant>
  8786. <constant name="VALUE_NOCOPY_CONTENTS"
  8787. value="134217728"
  8788. c:type="G_VALUE_NOCOPY_CONTENTS">
  8789. <doc xml:space="preserve">If passed to G_VALUE_COLLECT(), allocated data won't be copied
  8790. but used verbatim. This does not affect ref-counted types like
  8791. objects.</doc>
  8792. <type name="gint" c:type="gint"/>
  8793. </constant>
  8794. <callback name="VaClosureMarshal"
  8795. c:type="GVaClosureMarshal"
  8796. introspectable="0">
  8797. <doc xml:space="preserve">This is the signature of va_list marshaller functions, an optional
  8798. marshaller that can be used in some situations to avoid
  8799. marshalling the signal argument into GValues.</doc>
  8800. <return-value transfer-ownership="none">
  8801. <type name="none" c:type="void"/>
  8802. </return-value>
  8803. <parameters>
  8804. <parameter name="closure" transfer-ownership="none">
  8805. <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
  8806. <type name="Closure" c:type="GClosure*"/>
  8807. </parameter>
  8808. <parameter name="return_value"
  8809. transfer-ownership="none"
  8810. nullable="1"
  8811. allow-none="1">
  8812. <doc xml:space="preserve">a #GValue to store the return
  8813. value. May be %NULL if the callback of @closure doesn't return a
  8814. value.</doc>
  8815. <type name="Value" c:type="GValue*"/>
  8816. </parameter>
  8817. <parameter name="instance" transfer-ownership="none">
  8818. <doc xml:space="preserve">the instance on which the closure is
  8819. invoked.</doc>
  8820. <type name="TypeInstance" c:type="gpointer"/>
  8821. </parameter>
  8822. <parameter name="args" transfer-ownership="none">
  8823. <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
  8824. <type name="va_list" c:type="va_list"/>
  8825. </parameter>
  8826. <parameter name="marshal_data"
  8827. transfer-ownership="none"
  8828. nullable="1"
  8829. allow-none="1">
  8830. <doc xml:space="preserve">additional data specified when
  8831. registering the marshaller, see g_closure_set_marshal() and
  8832. g_closure_set_meta_marshal()</doc>
  8833. <type name="gpointer" c:type="gpointer"/>
  8834. </parameter>
  8835. <parameter name="n_params" transfer-ownership="none">
  8836. <doc xml:space="preserve">the length of the @param_types array</doc>
  8837. <type name="gint" c:type="int"/>
  8838. </parameter>
  8839. <parameter name="param_types" transfer-ownership="none">
  8840. <doc xml:space="preserve">the #GType of each argument from
  8841. @args.</doc>
  8842. <array length="5" zero-terminated="0" c:type="GType*">
  8843. <type name="GType" c:type="GType"/>
  8844. </array>
  8845. </parameter>
  8846. </parameters>
  8847. </callback>
  8848. <record name="Value"
  8849. c:type="GValue"
  8850. glib:type-name="GValue"
  8851. glib:get-type="g_value_get_type"
  8852. c:symbol-prefix="value">
  8853. <doc xml:space="preserve">An opaque structure used to hold different types of values.
  8854. The data within the structure has protected scope: it is accessible only
  8855. to functions within a #GTypeValueTable structure, or implementations of
  8856. the g_value_*() API. That is, code portions which implement new fundamental
  8857. types.
  8858. #GValue users cannot make any assumptions about how data is stored
  8859. within the 2 element @data union, and the @g_type member should
  8860. only be accessed through the G_VALUE_TYPE() macro.</doc>
  8861. <field name="g_type" readable="0" private="1">
  8862. <type name="GType" c:type="GType"/>
  8863. </field>
  8864. <field name="data" writable="1">
  8865. <array zero-terminated="0" c:type="gpointer" fixed-size="2">
  8866. <type name="_Value__data__union"/>
  8867. </array>
  8868. </field>
  8869. <method name="copy" c:identifier="g_value_copy">
  8870. <doc xml:space="preserve">Copies the value of @src_value into @dest_value.</doc>
  8871. <return-value transfer-ownership="none">
  8872. <type name="none" c:type="void"/>
  8873. </return-value>
  8874. <parameters>
  8875. <instance-parameter name="src_value" transfer-ownership="none">
  8876. <doc xml:space="preserve">An initialized #GValue structure.</doc>
  8877. <type name="Value" c:type="const GValue*"/>
  8878. </instance-parameter>
  8879. <parameter name="dest_value" transfer-ownership="none">
  8880. <doc xml:space="preserve">An initialized #GValue structure of the same type as @src_value.</doc>
  8881. <type name="Value" c:type="GValue*"/>
  8882. </parameter>
  8883. </parameters>
  8884. </method>
  8885. <method name="dup_boxed"
  8886. c:identifier="g_value_dup_boxed"
  8887. introspectable="0">
  8888. <doc xml:space="preserve">Get the contents of a %G_TYPE_BOXED derived #GValue. Upon getting,
  8889. the boxed value is duplicated and needs to be later freed with
  8890. g_boxed_free(), e.g. like: g_boxed_free (G_VALUE_TYPE (@value),
  8891. return_value);</doc>
  8892. <return-value transfer-ownership="none" nullable="1">
  8893. <doc xml:space="preserve">boxed contents of @value</doc>
  8894. <type name="gpointer" c:type="gpointer"/>
  8895. </return-value>
  8896. <parameters>
  8897. <instance-parameter name="value" transfer-ownership="none">
  8898. <doc xml:space="preserve">a valid #GValue of %G_TYPE_BOXED derived type</doc>
  8899. <type name="Value" c:type="const GValue*"/>
  8900. </instance-parameter>
  8901. </parameters>
  8902. </method>
  8903. <method name="dup_object" c:identifier="g_value_dup_object">
  8904. <doc xml:space="preserve">Get the contents of a %G_TYPE_OBJECT derived #GValue, increasing
  8905. its reference count. If the contents of the #GValue are %NULL, then
  8906. %NULL will be returned.</doc>
  8907. <return-value transfer-ownership="full">
  8908. <doc xml:space="preserve">object content of @value,
  8909. should be unreferenced when no longer needed.</doc>
  8910. <type name="Object" c:type="gpointer"/>
  8911. </return-value>
  8912. <parameters>
  8913. <instance-parameter name="value" transfer-ownership="none">
  8914. <doc xml:space="preserve">a valid #GValue whose type is derived from %G_TYPE_OBJECT</doc>
  8915. <type name="Value" c:type="const GValue*"/>
  8916. </instance-parameter>
  8917. </parameters>
  8918. </method>
  8919. <method name="dup_param"
  8920. c:identifier="g_value_dup_param"
  8921. introspectable="0">
  8922. <doc xml:space="preserve">Get the contents of a %G_TYPE_PARAM #GValue, increasing its
  8923. reference count.</doc>
  8924. <return-value>
  8925. <doc xml:space="preserve">#GParamSpec content of @value, should be unreferenced when
  8926. no longer needed.</doc>
  8927. <type name="ParamSpec" c:type="GParamSpec*"/>
  8928. </return-value>
  8929. <parameters>
  8930. <instance-parameter name="value" transfer-ownership="none">
  8931. <doc xml:space="preserve">a valid #GValue whose type is derived from %G_TYPE_PARAM</doc>
  8932. <type name="Value" c:type="const GValue*"/>
  8933. </instance-parameter>
  8934. </parameters>
  8935. </method>
  8936. <method name="dup_string" c:identifier="g_value_dup_string">
  8937. <doc xml:space="preserve">Get a copy the contents of a %G_TYPE_STRING #GValue.</doc>
  8938. <return-value transfer-ownership="full">
  8939. <doc xml:space="preserve">a newly allocated copy of the string content of @value</doc>
  8940. <type name="utf8" c:type="gchar*"/>
  8941. </return-value>
  8942. <parameters>
  8943. <instance-parameter name="value" transfer-ownership="none">
  8944. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_STRING</doc>
  8945. <type name="Value" c:type="const GValue*"/>
  8946. </instance-parameter>
  8947. </parameters>
  8948. </method>
  8949. <method name="dup_variant"
  8950. c:identifier="g_value_dup_variant"
  8951. version="2.26">
  8952. <doc xml:space="preserve">Get the contents of a variant #GValue, increasing its refcount.</doc>
  8953. <return-value transfer-ownership="full">
  8954. <doc xml:space="preserve">variant contents of @value, should be unrefed using
  8955. g_variant_unref() when no longer needed</doc>
  8956. <type name="GLib.Variant" c:type="GVariant*"/>
  8957. </return-value>
  8958. <parameters>
  8959. <instance-parameter name="value" transfer-ownership="none">
  8960. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_VARIANT</doc>
  8961. <type name="Value" c:type="const GValue*"/>
  8962. </instance-parameter>
  8963. </parameters>
  8964. </method>
  8965. <method name="fits_pointer" c:identifier="g_value_fits_pointer">
  8966. <doc xml:space="preserve">Determines if @value will fit inside the size of a pointer value.
  8967. This is an internal function introduced mainly for C marshallers.</doc>
  8968. <return-value transfer-ownership="none">
  8969. <doc xml:space="preserve">%TRUE if @value will fit inside a pointer value.</doc>
  8970. <type name="gboolean" c:type="gboolean"/>
  8971. </return-value>
  8972. <parameters>
  8973. <instance-parameter name="value" transfer-ownership="none">
  8974. <doc xml:space="preserve">An initialized #GValue structure.</doc>
  8975. <type name="Value" c:type="const GValue*"/>
  8976. </instance-parameter>
  8977. </parameters>
  8978. </method>
  8979. <method name="get_boolean" c:identifier="g_value_get_boolean">
  8980. <doc xml:space="preserve">Get the contents of a %G_TYPE_BOOLEAN #GValue.</doc>
  8981. <return-value transfer-ownership="none">
  8982. <doc xml:space="preserve">boolean contents of @value</doc>
  8983. <type name="gboolean" c:type="gboolean"/>
  8984. </return-value>
  8985. <parameters>
  8986. <instance-parameter name="value" transfer-ownership="none">
  8987. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_BOOLEAN</doc>
  8988. <type name="Value" c:type="const GValue*"/>
  8989. </instance-parameter>
  8990. </parameters>
  8991. </method>
  8992. <method name="get_boxed" c:identifier="g_value_get_boxed">
  8993. <doc xml:space="preserve">Get the contents of a %G_TYPE_BOXED derived #GValue.</doc>
  8994. <return-value transfer-ownership="none" nullable="1">
  8995. <doc xml:space="preserve">boxed contents of @value</doc>
  8996. <type name="gpointer" c:type="gpointer"/>
  8997. </return-value>
  8998. <parameters>
  8999. <instance-parameter name="value" transfer-ownership="none">
  9000. <doc xml:space="preserve">a valid #GValue of %G_TYPE_BOXED derived type</doc>
  9001. <type name="Value" c:type="const GValue*"/>
  9002. </instance-parameter>
  9003. </parameters>
  9004. </method>
  9005. <method name="get_char"
  9006. c:identifier="g_value_get_char"
  9007. deprecated="1"
  9008. deprecated-version="2.32">
  9009. <doc xml:space="preserve">Do not use this function; it is broken on platforms where the %char
  9010. type is unsigned, such as ARM and PowerPC. See g_value_get_schar().
  9011. Get the contents of a %G_TYPE_CHAR #GValue.</doc>
  9012. <doc-deprecated xml:space="preserve">This function's return type is broken, see g_value_get_schar()</doc-deprecated>
  9013. <return-value transfer-ownership="none">
  9014. <doc xml:space="preserve">character contents of @value</doc>
  9015. <type name="gchar" c:type="gchar"/>
  9016. </return-value>
  9017. <parameters>
  9018. <instance-parameter name="value" transfer-ownership="none">
  9019. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_CHAR</doc>
  9020. <type name="Value" c:type="const GValue*"/>
  9021. </instance-parameter>
  9022. </parameters>
  9023. </method>
  9024. <method name="get_double" c:identifier="g_value_get_double">
  9025. <doc xml:space="preserve">Get the contents of a %G_TYPE_DOUBLE #GValue.</doc>
  9026. <return-value transfer-ownership="none">
  9027. <doc xml:space="preserve">double contents of @value</doc>
  9028. <type name="gdouble" c:type="gdouble"/>
  9029. </return-value>
  9030. <parameters>
  9031. <instance-parameter name="value" transfer-ownership="none">
  9032. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_DOUBLE</doc>
  9033. <type name="Value" c:type="const GValue*"/>
  9034. </instance-parameter>
  9035. </parameters>
  9036. </method>
  9037. <method name="get_enum" c:identifier="g_value_get_enum">
  9038. <doc xml:space="preserve">Get the contents of a %G_TYPE_ENUM #GValue.</doc>
  9039. <return-value transfer-ownership="none">
  9040. <doc xml:space="preserve">enum contents of @value</doc>
  9041. <type name="gint" c:type="gint"/>
  9042. </return-value>
  9043. <parameters>
  9044. <instance-parameter name="value" transfer-ownership="none">
  9045. <doc xml:space="preserve">a valid #GValue whose type is derived from %G_TYPE_ENUM</doc>
  9046. <type name="Value" c:type="const GValue*"/>
  9047. </instance-parameter>
  9048. </parameters>
  9049. </method>
  9050. <method name="get_flags" c:identifier="g_value_get_flags">
  9051. <doc xml:space="preserve">Get the contents of a %G_TYPE_FLAGS #GValue.</doc>
  9052. <return-value transfer-ownership="none">
  9053. <doc xml:space="preserve">flags contents of @value</doc>
  9054. <type name="guint" c:type="guint"/>
  9055. </return-value>
  9056. <parameters>
  9057. <instance-parameter name="value" transfer-ownership="none">
  9058. <doc xml:space="preserve">a valid #GValue whose type is derived from %G_TYPE_FLAGS</doc>
  9059. <type name="Value" c:type="const GValue*"/>
  9060. </instance-parameter>
  9061. </parameters>
  9062. </method>
  9063. <method name="get_float" c:identifier="g_value_get_float">
  9064. <doc xml:space="preserve">Get the contents of a %G_TYPE_FLOAT #GValue.</doc>
  9065. <return-value transfer-ownership="none">
  9066. <doc xml:space="preserve">float contents of @value</doc>
  9067. <type name="gfloat" c:type="gfloat"/>
  9068. </return-value>
  9069. <parameters>
  9070. <instance-parameter name="value" transfer-ownership="none">
  9071. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_FLOAT</doc>
  9072. <type name="Value" c:type="const GValue*"/>
  9073. </instance-parameter>
  9074. </parameters>
  9075. </method>
  9076. <method name="get_gtype" c:identifier="g_value_get_gtype" version="2.12">
  9077. <doc xml:space="preserve">Get the contents of a %G_TYPE_GTYPE #GValue.</doc>
  9078. <return-value transfer-ownership="none">
  9079. <doc xml:space="preserve">the #GType stored in @value</doc>
  9080. <type name="GType" c:type="GType"/>
  9081. </return-value>
  9082. <parameters>
  9083. <instance-parameter name="value" transfer-ownership="none">
  9084. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_GTYPE</doc>
  9085. <type name="Value" c:type="const GValue*"/>
  9086. </instance-parameter>
  9087. </parameters>
  9088. </method>
  9089. <method name="get_int" c:identifier="g_value_get_int">
  9090. <doc xml:space="preserve">Get the contents of a %G_TYPE_INT #GValue.</doc>
  9091. <return-value transfer-ownership="none">
  9092. <doc xml:space="preserve">integer contents of @value</doc>
  9093. <type name="gint" c:type="gint"/>
  9094. </return-value>
  9095. <parameters>
  9096. <instance-parameter name="value" transfer-ownership="none">
  9097. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_INT</doc>
  9098. <type name="Value" c:type="const GValue*"/>
  9099. </instance-parameter>
  9100. </parameters>
  9101. </method>
  9102. <method name="get_int64" c:identifier="g_value_get_int64">
  9103. <doc xml:space="preserve">Get the contents of a %G_TYPE_INT64 #GValue.</doc>
  9104. <return-value transfer-ownership="none">
  9105. <doc xml:space="preserve">64bit integer contents of @value</doc>
  9106. <type name="gint64" c:type="gint64"/>
  9107. </return-value>
  9108. <parameters>
  9109. <instance-parameter name="value" transfer-ownership="none">
  9110. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_INT64</doc>
  9111. <type name="Value" c:type="const GValue*"/>
  9112. </instance-parameter>
  9113. </parameters>
  9114. </method>
  9115. <method name="get_long" c:identifier="g_value_get_long">
  9116. <doc xml:space="preserve">Get the contents of a %G_TYPE_LONG #GValue.</doc>
  9117. <return-value transfer-ownership="none">
  9118. <doc xml:space="preserve">long integer contents of @value</doc>
  9119. <type name="glong" c:type="glong"/>
  9120. </return-value>
  9121. <parameters>
  9122. <instance-parameter name="value" transfer-ownership="none">
  9123. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_LONG</doc>
  9124. <type name="Value" c:type="const GValue*"/>
  9125. </instance-parameter>
  9126. </parameters>
  9127. </method>
  9128. <method name="get_object" c:identifier="g_value_get_object">
  9129. <doc xml:space="preserve">Get the contents of a %G_TYPE_OBJECT derived #GValue.</doc>
  9130. <return-value transfer-ownership="none">
  9131. <doc xml:space="preserve">object contents of @value</doc>
  9132. <type name="Object" c:type="gpointer"/>
  9133. </return-value>
  9134. <parameters>
  9135. <instance-parameter name="value" transfer-ownership="none">
  9136. <doc xml:space="preserve">a valid #GValue of %G_TYPE_OBJECT derived type</doc>
  9137. <type name="Value" c:type="const GValue*"/>
  9138. </instance-parameter>
  9139. </parameters>
  9140. </method>
  9141. <method name="get_param" c:identifier="g_value_get_param">
  9142. <doc xml:space="preserve">Get the contents of a %G_TYPE_PARAM #GValue.</doc>
  9143. <return-value transfer-ownership="none">
  9144. <doc xml:space="preserve">#GParamSpec content of @value</doc>
  9145. <type name="ParamSpec" c:type="GParamSpec*"/>
  9146. </return-value>
  9147. <parameters>
  9148. <instance-parameter name="value" transfer-ownership="none">
  9149. <doc xml:space="preserve">a valid #GValue whose type is derived from %G_TYPE_PARAM</doc>
  9150. <type name="Value" c:type="const GValue*"/>
  9151. </instance-parameter>
  9152. </parameters>
  9153. </method>
  9154. <method name="get_pointer" c:identifier="g_value_get_pointer">
  9155. <doc xml:space="preserve">Get the contents of a pointer #GValue.</doc>
  9156. <return-value transfer-ownership="none" nullable="1">
  9157. <doc xml:space="preserve">pointer contents of @value</doc>
  9158. <type name="gpointer" c:type="gpointer"/>
  9159. </return-value>
  9160. <parameters>
  9161. <instance-parameter name="value" transfer-ownership="none">
  9162. <doc xml:space="preserve">a valid #GValue of %G_TYPE_POINTER</doc>
  9163. <type name="Value" c:type="const GValue*"/>
  9164. </instance-parameter>
  9165. </parameters>
  9166. </method>
  9167. <method name="get_schar" c:identifier="g_value_get_schar" version="2.32">
  9168. <doc xml:space="preserve">Get the contents of a %G_TYPE_CHAR #GValue.</doc>
  9169. <return-value transfer-ownership="none">
  9170. <doc xml:space="preserve">signed 8 bit integer contents of @value</doc>
  9171. <type name="gint8" c:type="gint8"/>
  9172. </return-value>
  9173. <parameters>
  9174. <instance-parameter name="value" transfer-ownership="none">
  9175. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_CHAR</doc>
  9176. <type name="Value" c:type="const GValue*"/>
  9177. </instance-parameter>
  9178. </parameters>
  9179. </method>
  9180. <method name="get_string" c:identifier="g_value_get_string">
  9181. <doc xml:space="preserve">Get the contents of a %G_TYPE_STRING #GValue.</doc>
  9182. <return-value transfer-ownership="none">
  9183. <doc xml:space="preserve">string content of @value</doc>
  9184. <type name="utf8" c:type="const gchar*"/>
  9185. </return-value>
  9186. <parameters>
  9187. <instance-parameter name="value" transfer-ownership="none">
  9188. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_STRING</doc>
  9189. <type name="Value" c:type="const GValue*"/>
  9190. </instance-parameter>
  9191. </parameters>
  9192. </method>
  9193. <method name="get_uchar" c:identifier="g_value_get_uchar">
  9194. <doc xml:space="preserve">Get the contents of a %G_TYPE_UCHAR #GValue.</doc>
  9195. <return-value transfer-ownership="none">
  9196. <doc xml:space="preserve">unsigned character contents of @value</doc>
  9197. <type name="guint8" c:type="guchar"/>
  9198. </return-value>
  9199. <parameters>
  9200. <instance-parameter name="value" transfer-ownership="none">
  9201. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_UCHAR</doc>
  9202. <type name="Value" c:type="const GValue*"/>
  9203. </instance-parameter>
  9204. </parameters>
  9205. </method>
  9206. <method name="get_uint" c:identifier="g_value_get_uint">
  9207. <doc xml:space="preserve">Get the contents of a %G_TYPE_UINT #GValue.</doc>
  9208. <return-value transfer-ownership="none">
  9209. <doc xml:space="preserve">unsigned integer contents of @value</doc>
  9210. <type name="guint" c:type="guint"/>
  9211. </return-value>
  9212. <parameters>
  9213. <instance-parameter name="value" transfer-ownership="none">
  9214. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_UINT</doc>
  9215. <type name="Value" c:type="const GValue*"/>
  9216. </instance-parameter>
  9217. </parameters>
  9218. </method>
  9219. <method name="get_uint64" c:identifier="g_value_get_uint64">
  9220. <doc xml:space="preserve">Get the contents of a %G_TYPE_UINT64 #GValue.</doc>
  9221. <return-value transfer-ownership="none">
  9222. <doc xml:space="preserve">unsigned 64bit integer contents of @value</doc>
  9223. <type name="guint64" c:type="guint64"/>
  9224. </return-value>
  9225. <parameters>
  9226. <instance-parameter name="value" transfer-ownership="none">
  9227. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_UINT64</doc>
  9228. <type name="Value" c:type="const GValue*"/>
  9229. </instance-parameter>
  9230. </parameters>
  9231. </method>
  9232. <method name="get_ulong" c:identifier="g_value_get_ulong">
  9233. <doc xml:space="preserve">Get the contents of a %G_TYPE_ULONG #GValue.</doc>
  9234. <return-value transfer-ownership="none">
  9235. <doc xml:space="preserve">unsigned long integer contents of @value</doc>
  9236. <type name="gulong" c:type="gulong"/>
  9237. </return-value>
  9238. <parameters>
  9239. <instance-parameter name="value" transfer-ownership="none">
  9240. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_ULONG</doc>
  9241. <type name="Value" c:type="const GValue*"/>
  9242. </instance-parameter>
  9243. </parameters>
  9244. </method>
  9245. <method name="get_variant"
  9246. c:identifier="g_value_get_variant"
  9247. version="2.26">
  9248. <doc xml:space="preserve">Get the contents of a variant #GValue.</doc>
  9249. <return-value transfer-ownership="full">
  9250. <doc xml:space="preserve">variant contents of @value</doc>
  9251. <type name="GLib.Variant" c:type="GVariant*"/>
  9252. </return-value>
  9253. <parameters>
  9254. <instance-parameter name="value" transfer-ownership="none">
  9255. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_VARIANT</doc>
  9256. <type name="Value" c:type="const GValue*"/>
  9257. </instance-parameter>
  9258. </parameters>
  9259. </method>
  9260. <method name="init" c:identifier="g_value_init">
  9261. <doc xml:space="preserve">Initializes @value with the default value of @type.</doc>
  9262. <return-value transfer-ownership="none">
  9263. <doc xml:space="preserve">the #GValue structure that has been passed in</doc>
  9264. <type name="Value" c:type="GValue*"/>
  9265. </return-value>
  9266. <parameters>
  9267. <instance-parameter name="value" transfer-ownership="none">
  9268. <doc xml:space="preserve">A zero-filled (uninitialized) #GValue structure.</doc>
  9269. <type name="Value" c:type="GValue*"/>
  9270. </instance-parameter>
  9271. <parameter name="g_type" transfer-ownership="none">
  9272. <doc xml:space="preserve">Type the #GValue should hold values of.</doc>
  9273. <type name="GType" c:type="GType"/>
  9274. </parameter>
  9275. </parameters>
  9276. </method>
  9277. <method name="init_from_instance"
  9278. c:identifier="g_value_init_from_instance"
  9279. version="2.42">
  9280. <doc xml:space="preserve">Initializes and sets @value from an instantiatable type via the
  9281. value_table's collect_value() function.
  9282. Note: The @value will be initialised with the exact type of
  9283. @instance. If you wish to set the @value's type to a different GType
  9284. (such as a parent class GType), you need to manually call
  9285. g_value_init() and g_value_set_instance().</doc>
  9286. <return-value transfer-ownership="none">
  9287. <type name="none" c:type="void"/>
  9288. </return-value>
  9289. <parameters>
  9290. <instance-parameter name="value" transfer-ownership="none">
  9291. <doc xml:space="preserve">An uninitialized #GValue structure.</doc>
  9292. <type name="Value" c:type="GValue*"/>
  9293. </instance-parameter>
  9294. <parameter name="instance" transfer-ownership="none">
  9295. <doc xml:space="preserve">the instance</doc>
  9296. <type name="TypeInstance" c:type="gpointer"/>
  9297. </parameter>
  9298. </parameters>
  9299. </method>
  9300. <method name="peek_pointer" c:identifier="g_value_peek_pointer">
  9301. <doc xml:space="preserve">Returns the value contents as pointer. This function asserts that
  9302. g_value_fits_pointer() returned %TRUE for the passed in value.
  9303. This is an internal function introduced mainly for C marshallers.</doc>
  9304. <return-value transfer-ownership="none" nullable="1">
  9305. <doc xml:space="preserve">the value contents as pointer</doc>
  9306. <type name="gpointer" c:type="gpointer"/>
  9307. </return-value>
  9308. <parameters>
  9309. <instance-parameter name="value" transfer-ownership="none">
  9310. <doc xml:space="preserve">An initialized #GValue structure</doc>
  9311. <type name="Value" c:type="const GValue*"/>
  9312. </instance-parameter>
  9313. </parameters>
  9314. </method>
  9315. <method name="reset" c:identifier="g_value_reset">
  9316. <doc xml:space="preserve">Clears the current value in @value and resets it to the default value
  9317. (as if the value had just been initialized).</doc>
  9318. <return-value transfer-ownership="full">
  9319. <doc xml:space="preserve">the #GValue structure that has been passed in</doc>
  9320. <type name="Value" c:type="GValue*"/>
  9321. </return-value>
  9322. <parameters>
  9323. <instance-parameter name="value" transfer-ownership="none">
  9324. <doc xml:space="preserve">An initialized #GValue structure.</doc>
  9325. <type name="Value" c:type="GValue*"/>
  9326. </instance-parameter>
  9327. </parameters>
  9328. </method>
  9329. <method name="set_boolean" c:identifier="g_value_set_boolean">
  9330. <doc xml:space="preserve">Set the contents of a %G_TYPE_BOOLEAN #GValue to @v_boolean.</doc>
  9331. <return-value transfer-ownership="none">
  9332. <type name="none" c:type="void"/>
  9333. </return-value>
  9334. <parameters>
  9335. <instance-parameter name="value" transfer-ownership="none">
  9336. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_BOOLEAN</doc>
  9337. <type name="Value" c:type="GValue*"/>
  9338. </instance-parameter>
  9339. <parameter name="v_boolean" transfer-ownership="none">
  9340. <doc xml:space="preserve">boolean value to be set</doc>
  9341. <type name="gboolean" c:type="gboolean"/>
  9342. </parameter>
  9343. </parameters>
  9344. </method>
  9345. <method name="set_boxed" c:identifier="g_value_set_boxed">
  9346. <doc xml:space="preserve">Set the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed.</doc>
  9347. <return-value transfer-ownership="none">
  9348. <type name="none" c:type="void"/>
  9349. </return-value>
  9350. <parameters>
  9351. <instance-parameter name="value" transfer-ownership="none">
  9352. <doc xml:space="preserve">a valid #GValue of %G_TYPE_BOXED derived type</doc>
  9353. <type name="Value" c:type="GValue*"/>
  9354. </instance-parameter>
  9355. <parameter name="v_boxed"
  9356. transfer-ownership="none"
  9357. nullable="1"
  9358. allow-none="1">
  9359. <doc xml:space="preserve">boxed value to be set</doc>
  9360. <type name="gpointer" c:type="gconstpointer"/>
  9361. </parameter>
  9362. </parameters>
  9363. </method>
  9364. <method name="set_boxed_take_ownership"
  9365. c:identifier="g_value_set_boxed_take_ownership"
  9366. deprecated="1"
  9367. deprecated-version="2.4">
  9368. <doc xml:space="preserve">This is an internal function introduced mainly for C marshallers.</doc>
  9369. <doc-deprecated xml:space="preserve">Use g_value_take_boxed() instead.</doc-deprecated>
  9370. <return-value transfer-ownership="none">
  9371. <type name="none" c:type="void"/>
  9372. </return-value>
  9373. <parameters>
  9374. <instance-parameter name="value" transfer-ownership="none">
  9375. <doc xml:space="preserve">a valid #GValue of %G_TYPE_BOXED derived type</doc>
  9376. <type name="Value" c:type="GValue*"/>
  9377. </instance-parameter>
  9378. <parameter name="v_boxed"
  9379. transfer-ownership="none"
  9380. nullable="1"
  9381. allow-none="1">
  9382. <doc xml:space="preserve">duplicated unowned boxed value to be set</doc>
  9383. <type name="gpointer" c:type="gconstpointer"/>
  9384. </parameter>
  9385. </parameters>
  9386. </method>
  9387. <method name="set_char"
  9388. c:identifier="g_value_set_char"
  9389. deprecated="1"
  9390. deprecated-version="2.32">
  9391. <doc xml:space="preserve">Set the contents of a %G_TYPE_CHAR #GValue to @v_char.</doc>
  9392. <doc-deprecated xml:space="preserve">This function's input type is broken, see g_value_set_schar()</doc-deprecated>
  9393. <return-value transfer-ownership="none">
  9394. <type name="none" c:type="void"/>
  9395. </return-value>
  9396. <parameters>
  9397. <instance-parameter name="value" transfer-ownership="none">
  9398. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_CHAR</doc>
  9399. <type name="Value" c:type="GValue*"/>
  9400. </instance-parameter>
  9401. <parameter name="v_char" transfer-ownership="none">
  9402. <doc xml:space="preserve">character value to be set</doc>
  9403. <type name="gchar" c:type="gchar"/>
  9404. </parameter>
  9405. </parameters>
  9406. </method>
  9407. <method name="set_double" c:identifier="g_value_set_double">
  9408. <doc xml:space="preserve">Set the contents of a %G_TYPE_DOUBLE #GValue to @v_double.</doc>
  9409. <return-value transfer-ownership="none">
  9410. <type name="none" c:type="void"/>
  9411. </return-value>
  9412. <parameters>
  9413. <instance-parameter name="value" transfer-ownership="none">
  9414. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_DOUBLE</doc>
  9415. <type name="Value" c:type="GValue*"/>
  9416. </instance-parameter>
  9417. <parameter name="v_double" transfer-ownership="none">
  9418. <doc xml:space="preserve">double value to be set</doc>
  9419. <type name="gdouble" c:type="gdouble"/>
  9420. </parameter>
  9421. </parameters>
  9422. </method>
  9423. <method name="set_enum" c:identifier="g_value_set_enum">
  9424. <doc xml:space="preserve">Set the contents of a %G_TYPE_ENUM #GValue to @v_enum.</doc>
  9425. <return-value transfer-ownership="none">
  9426. <type name="none" c:type="void"/>
  9427. </return-value>
  9428. <parameters>
  9429. <instance-parameter name="value" transfer-ownership="none">
  9430. <doc xml:space="preserve">a valid #GValue whose type is derived from %G_TYPE_ENUM</doc>
  9431. <type name="Value" c:type="GValue*"/>
  9432. </instance-parameter>
  9433. <parameter name="v_enum" transfer-ownership="none">
  9434. <doc xml:space="preserve">enum value to be set</doc>
  9435. <type name="gint" c:type="gint"/>
  9436. </parameter>
  9437. </parameters>
  9438. </method>
  9439. <method name="set_flags" c:identifier="g_value_set_flags">
  9440. <doc xml:space="preserve">Set the contents of a %G_TYPE_FLAGS #GValue to @v_flags.</doc>
  9441. <return-value transfer-ownership="none">
  9442. <type name="none" c:type="void"/>
  9443. </return-value>
  9444. <parameters>
  9445. <instance-parameter name="value" transfer-ownership="none">
  9446. <doc xml:space="preserve">a valid #GValue whose type is derived from %G_TYPE_FLAGS</doc>
  9447. <type name="Value" c:type="GValue*"/>
  9448. </instance-parameter>
  9449. <parameter name="v_flags" transfer-ownership="none">
  9450. <doc xml:space="preserve">flags value to be set</doc>
  9451. <type name="guint" c:type="guint"/>
  9452. </parameter>
  9453. </parameters>
  9454. </method>
  9455. <method name="set_float" c:identifier="g_value_set_float">
  9456. <doc xml:space="preserve">Set the contents of a %G_TYPE_FLOAT #GValue to @v_float.</doc>
  9457. <return-value transfer-ownership="none">
  9458. <type name="none" c:type="void"/>
  9459. </return-value>
  9460. <parameters>
  9461. <instance-parameter name="value" transfer-ownership="none">
  9462. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_FLOAT</doc>
  9463. <type name="Value" c:type="GValue*"/>
  9464. </instance-parameter>
  9465. <parameter name="v_float" transfer-ownership="none">
  9466. <doc xml:space="preserve">float value to be set</doc>
  9467. <type name="gfloat" c:type="gfloat"/>
  9468. </parameter>
  9469. </parameters>
  9470. </method>
  9471. <method name="set_gtype" c:identifier="g_value_set_gtype" version="2.12">
  9472. <doc xml:space="preserve">Set the contents of a %G_TYPE_GTYPE #GValue to @v_gtype.</doc>
  9473. <return-value transfer-ownership="none">
  9474. <type name="none" c:type="void"/>
  9475. </return-value>
  9476. <parameters>
  9477. <instance-parameter name="value" transfer-ownership="none">
  9478. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_GTYPE</doc>
  9479. <type name="Value" c:type="GValue*"/>
  9480. </instance-parameter>
  9481. <parameter name="v_gtype" transfer-ownership="none">
  9482. <doc xml:space="preserve">#GType to be set</doc>
  9483. <type name="GType" c:type="GType"/>
  9484. </parameter>
  9485. </parameters>
  9486. </method>
  9487. <method name="set_instance" c:identifier="g_value_set_instance">
  9488. <doc xml:space="preserve">Sets @value from an instantiatable type via the
  9489. value_table's collect_value() function.</doc>
  9490. <return-value transfer-ownership="none">
  9491. <type name="none" c:type="void"/>
  9492. </return-value>
  9493. <parameters>
  9494. <instance-parameter name="value" transfer-ownership="none">
  9495. <doc xml:space="preserve">An initialized #GValue structure.</doc>
  9496. <type name="Value" c:type="GValue*"/>
  9497. </instance-parameter>
  9498. <parameter name="instance"
  9499. transfer-ownership="none"
  9500. nullable="1"
  9501. allow-none="1">
  9502. <doc xml:space="preserve">the instance</doc>
  9503. <type name="gpointer" c:type="gpointer"/>
  9504. </parameter>
  9505. </parameters>
  9506. </method>
  9507. <method name="set_int" c:identifier="g_value_set_int">
  9508. <doc xml:space="preserve">Set the contents of a %G_TYPE_INT #GValue to @v_int.</doc>
  9509. <return-value transfer-ownership="none">
  9510. <type name="none" c:type="void"/>
  9511. </return-value>
  9512. <parameters>
  9513. <instance-parameter name="value" transfer-ownership="none">
  9514. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_INT</doc>
  9515. <type name="Value" c:type="GValue*"/>
  9516. </instance-parameter>
  9517. <parameter name="v_int" transfer-ownership="none">
  9518. <doc xml:space="preserve">integer value to be set</doc>
  9519. <type name="gint" c:type="gint"/>
  9520. </parameter>
  9521. </parameters>
  9522. </method>
  9523. <method name="set_int64" c:identifier="g_value_set_int64">
  9524. <doc xml:space="preserve">Set the contents of a %G_TYPE_INT64 #GValue to @v_int64.</doc>
  9525. <return-value transfer-ownership="none">
  9526. <type name="none" c:type="void"/>
  9527. </return-value>
  9528. <parameters>
  9529. <instance-parameter name="value" transfer-ownership="none">
  9530. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_INT64</doc>
  9531. <type name="Value" c:type="GValue*"/>
  9532. </instance-parameter>
  9533. <parameter name="v_int64" transfer-ownership="none">
  9534. <doc xml:space="preserve">64bit integer value to be set</doc>
  9535. <type name="gint64" c:type="gint64"/>
  9536. </parameter>
  9537. </parameters>
  9538. </method>
  9539. <method name="set_long" c:identifier="g_value_set_long">
  9540. <doc xml:space="preserve">Set the contents of a %G_TYPE_LONG #GValue to @v_long.</doc>
  9541. <return-value transfer-ownership="none">
  9542. <type name="none" c:type="void"/>
  9543. </return-value>
  9544. <parameters>
  9545. <instance-parameter name="value" transfer-ownership="none">
  9546. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_LONG</doc>
  9547. <type name="Value" c:type="GValue*"/>
  9548. </instance-parameter>
  9549. <parameter name="v_long" transfer-ownership="none">
  9550. <doc xml:space="preserve">long integer value to be set</doc>
  9551. <type name="glong" c:type="glong"/>
  9552. </parameter>
  9553. </parameters>
  9554. </method>
  9555. <method name="set_object" c:identifier="g_value_set_object">
  9556. <doc xml:space="preserve">Set the contents of a %G_TYPE_OBJECT derived #GValue to @v_object.
  9557. g_value_set_object() increases the reference count of @v_object
  9558. (the #GValue holds a reference to @v_object). If you do not wish
  9559. to increase the reference count of the object (i.e. you wish to
  9560. pass your current reference to the #GValue because you no longer
  9561. need it), use g_value_take_object() instead.
  9562. It is important that your #GValue holds a reference to @v_object (either its
  9563. own, or one it has taken) to ensure that the object won't be destroyed while
  9564. the #GValue still exists).</doc>
  9565. <return-value transfer-ownership="none">
  9566. <type name="none" c:type="void"/>
  9567. </return-value>
  9568. <parameters>
  9569. <instance-parameter name="value" transfer-ownership="none">
  9570. <doc xml:space="preserve">a valid #GValue of %G_TYPE_OBJECT derived type</doc>
  9571. <type name="Value" c:type="GValue*"/>
  9572. </instance-parameter>
  9573. <parameter name="v_object"
  9574. transfer-ownership="none"
  9575. nullable="1"
  9576. allow-none="1">
  9577. <doc xml:space="preserve">object value to be set</doc>
  9578. <type name="Object" c:type="gpointer"/>
  9579. </parameter>
  9580. </parameters>
  9581. </method>
  9582. <method name="set_object_take_ownership"
  9583. c:identifier="g_value_set_object_take_ownership"
  9584. introspectable="0"
  9585. deprecated="1"
  9586. deprecated-version="2.4">
  9587. <doc xml:space="preserve">This is an internal function introduced mainly for C marshallers.</doc>
  9588. <doc-deprecated xml:space="preserve">Use g_value_take_object() instead.</doc-deprecated>
  9589. <return-value transfer-ownership="none">
  9590. <type name="none" c:type="void"/>
  9591. </return-value>
  9592. <parameters>
  9593. <instance-parameter name="value" transfer-ownership="none">
  9594. <doc xml:space="preserve">a valid #GValue of %G_TYPE_OBJECT derived type</doc>
  9595. <type name="Value" c:type="GValue*"/>
  9596. </instance-parameter>
  9597. <parameter name="v_object"
  9598. transfer-ownership="none"
  9599. nullable="1"
  9600. allow-none="1">
  9601. <doc xml:space="preserve">object value to be set</doc>
  9602. <type name="gpointer" c:type="gpointer"/>
  9603. </parameter>
  9604. </parameters>
  9605. </method>
  9606. <method name="set_param" c:identifier="g_value_set_param">
  9607. <doc xml:space="preserve">Set the contents of a %G_TYPE_PARAM #GValue to @param.</doc>
  9608. <return-value transfer-ownership="none">
  9609. <type name="none" c:type="void"/>
  9610. </return-value>
  9611. <parameters>
  9612. <instance-parameter name="value" transfer-ownership="none">
  9613. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_PARAM</doc>
  9614. <type name="Value" c:type="GValue*"/>
  9615. </instance-parameter>
  9616. <parameter name="param"
  9617. transfer-ownership="none"
  9618. nullable="1"
  9619. allow-none="1">
  9620. <doc xml:space="preserve">the #GParamSpec to be set</doc>
  9621. <type name="ParamSpec" c:type="GParamSpec*"/>
  9622. </parameter>
  9623. </parameters>
  9624. </method>
  9625. <method name="set_param_take_ownership"
  9626. c:identifier="g_value_set_param_take_ownership"
  9627. introspectable="0"
  9628. deprecated="1"
  9629. deprecated-version="2.4">
  9630. <doc xml:space="preserve">This is an internal function introduced mainly for C marshallers.</doc>
  9631. <doc-deprecated xml:space="preserve">Use g_value_take_param() instead.</doc-deprecated>
  9632. <return-value transfer-ownership="none">
  9633. <type name="none" c:type="void"/>
  9634. </return-value>
  9635. <parameters>
  9636. <instance-parameter name="value" transfer-ownership="none">
  9637. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_PARAM</doc>
  9638. <type name="Value" c:type="GValue*"/>
  9639. </instance-parameter>
  9640. <parameter name="param"
  9641. transfer-ownership="none"
  9642. nullable="1"
  9643. allow-none="1">
  9644. <doc xml:space="preserve">the #GParamSpec to be set</doc>
  9645. <type name="ParamSpec" c:type="GParamSpec*"/>
  9646. </parameter>
  9647. </parameters>
  9648. </method>
  9649. <method name="set_pointer" c:identifier="g_value_set_pointer">
  9650. <doc xml:space="preserve">Set the contents of a pointer #GValue to @v_pointer.</doc>
  9651. <return-value transfer-ownership="none">
  9652. <type name="none" c:type="void"/>
  9653. </return-value>
  9654. <parameters>
  9655. <instance-parameter name="value" transfer-ownership="none">
  9656. <doc xml:space="preserve">a valid #GValue of %G_TYPE_POINTER</doc>
  9657. <type name="Value" c:type="GValue*"/>
  9658. </instance-parameter>
  9659. <parameter name="v_pointer"
  9660. transfer-ownership="none"
  9661. nullable="1"
  9662. allow-none="1">
  9663. <doc xml:space="preserve">pointer value to be set</doc>
  9664. <type name="gpointer" c:type="gpointer"/>
  9665. </parameter>
  9666. </parameters>
  9667. </method>
  9668. <method name="set_schar" c:identifier="g_value_set_schar" version="2.32">
  9669. <doc xml:space="preserve">Set the contents of a %G_TYPE_CHAR #GValue to @v_char.</doc>
  9670. <return-value transfer-ownership="none">
  9671. <type name="none" c:type="void"/>
  9672. </return-value>
  9673. <parameters>
  9674. <instance-parameter name="value" transfer-ownership="none">
  9675. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_CHAR</doc>
  9676. <type name="Value" c:type="GValue*"/>
  9677. </instance-parameter>
  9678. <parameter name="v_char" transfer-ownership="none">
  9679. <doc xml:space="preserve">signed 8 bit integer to be set</doc>
  9680. <type name="gint8" c:type="gint8"/>
  9681. </parameter>
  9682. </parameters>
  9683. </method>
  9684. <method name="set_static_boxed" c:identifier="g_value_set_static_boxed">
  9685. <doc xml:space="preserve">Set the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed.
  9686. The boxed value is assumed to be static, and is thus not duplicated
  9687. when setting the #GValue.</doc>
  9688. <return-value transfer-ownership="none">
  9689. <type name="none" c:type="void"/>
  9690. </return-value>
  9691. <parameters>
  9692. <instance-parameter name="value" transfer-ownership="none">
  9693. <doc xml:space="preserve">a valid #GValue of %G_TYPE_BOXED derived type</doc>
  9694. <type name="Value" c:type="GValue*"/>
  9695. </instance-parameter>
  9696. <parameter name="v_boxed"
  9697. transfer-ownership="none"
  9698. nullable="1"
  9699. allow-none="1">
  9700. <doc xml:space="preserve">static boxed value to be set</doc>
  9701. <type name="gpointer" c:type="gconstpointer"/>
  9702. </parameter>
  9703. </parameters>
  9704. </method>
  9705. <method name="set_static_string"
  9706. c:identifier="g_value_set_static_string">
  9707. <doc xml:space="preserve">Set the contents of a %G_TYPE_STRING #GValue to @v_string.
  9708. The string is assumed to be static, and is thus not duplicated
  9709. when setting the #GValue.</doc>
  9710. <return-value transfer-ownership="none">
  9711. <type name="none" c:type="void"/>
  9712. </return-value>
  9713. <parameters>
  9714. <instance-parameter name="value" transfer-ownership="none">
  9715. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_STRING</doc>
  9716. <type name="Value" c:type="GValue*"/>
  9717. </instance-parameter>
  9718. <parameter name="v_string"
  9719. transfer-ownership="none"
  9720. nullable="1"
  9721. allow-none="1">
  9722. <doc xml:space="preserve">static string to be set</doc>
  9723. <type name="utf8" c:type="const gchar*"/>
  9724. </parameter>
  9725. </parameters>
  9726. </method>
  9727. <method name="set_string" c:identifier="g_value_set_string">
  9728. <doc xml:space="preserve">Set the contents of a %G_TYPE_STRING #GValue to @v_string.</doc>
  9729. <return-value transfer-ownership="none">
  9730. <type name="none" c:type="void"/>
  9731. </return-value>
  9732. <parameters>
  9733. <instance-parameter name="value" transfer-ownership="none">
  9734. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_STRING</doc>
  9735. <type name="Value" c:type="GValue*"/>
  9736. </instance-parameter>
  9737. <parameter name="v_string"
  9738. transfer-ownership="none"
  9739. nullable="1"
  9740. allow-none="1">
  9741. <doc xml:space="preserve">caller-owned string to be duplicated for the #GValue</doc>
  9742. <type name="utf8" c:type="const gchar*"/>
  9743. </parameter>
  9744. </parameters>
  9745. </method>
  9746. <method name="set_string_take_ownership"
  9747. c:identifier="g_value_set_string_take_ownership"
  9748. deprecated="1"
  9749. deprecated-version="2.4">
  9750. <doc xml:space="preserve">This is an internal function introduced mainly for C marshallers.</doc>
  9751. <doc-deprecated xml:space="preserve">Use g_value_take_string() instead.</doc-deprecated>
  9752. <return-value transfer-ownership="none">
  9753. <type name="none" c:type="void"/>
  9754. </return-value>
  9755. <parameters>
  9756. <instance-parameter name="value" transfer-ownership="none">
  9757. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_STRING</doc>
  9758. <type name="Value" c:type="GValue*"/>
  9759. </instance-parameter>
  9760. <parameter name="v_string"
  9761. transfer-ownership="none"
  9762. nullable="1"
  9763. allow-none="1">
  9764. <doc xml:space="preserve">duplicated unowned string to be set</doc>
  9765. <type name="utf8" c:type="gchar*"/>
  9766. </parameter>
  9767. </parameters>
  9768. </method>
  9769. <method name="set_uchar" c:identifier="g_value_set_uchar">
  9770. <doc xml:space="preserve">Set the contents of a %G_TYPE_UCHAR #GValue to @v_uchar.</doc>
  9771. <return-value transfer-ownership="none">
  9772. <type name="none" c:type="void"/>
  9773. </return-value>
  9774. <parameters>
  9775. <instance-parameter name="value" transfer-ownership="none">
  9776. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_UCHAR</doc>
  9777. <type name="Value" c:type="GValue*"/>
  9778. </instance-parameter>
  9779. <parameter name="v_uchar" transfer-ownership="none">
  9780. <doc xml:space="preserve">unsigned character value to be set</doc>
  9781. <type name="guint8" c:type="guchar"/>
  9782. </parameter>
  9783. </parameters>
  9784. </method>
  9785. <method name="set_uint" c:identifier="g_value_set_uint">
  9786. <doc xml:space="preserve">Set the contents of a %G_TYPE_UINT #GValue to @v_uint.</doc>
  9787. <return-value transfer-ownership="none">
  9788. <type name="none" c:type="void"/>
  9789. </return-value>
  9790. <parameters>
  9791. <instance-parameter name="value" transfer-ownership="none">
  9792. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_UINT</doc>
  9793. <type name="Value" c:type="GValue*"/>
  9794. </instance-parameter>
  9795. <parameter name="v_uint" transfer-ownership="none">
  9796. <doc xml:space="preserve">unsigned integer value to be set</doc>
  9797. <type name="guint" c:type="guint"/>
  9798. </parameter>
  9799. </parameters>
  9800. </method>
  9801. <method name="set_uint64" c:identifier="g_value_set_uint64">
  9802. <doc xml:space="preserve">Set the contents of a %G_TYPE_UINT64 #GValue to @v_uint64.</doc>
  9803. <return-value transfer-ownership="none">
  9804. <type name="none" c:type="void"/>
  9805. </return-value>
  9806. <parameters>
  9807. <instance-parameter name="value" transfer-ownership="none">
  9808. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_UINT64</doc>
  9809. <type name="Value" c:type="GValue*"/>
  9810. </instance-parameter>
  9811. <parameter name="v_uint64" transfer-ownership="none">
  9812. <doc xml:space="preserve">unsigned 64bit integer value to be set</doc>
  9813. <type name="guint64" c:type="guint64"/>
  9814. </parameter>
  9815. </parameters>
  9816. </method>
  9817. <method name="set_ulong" c:identifier="g_value_set_ulong">
  9818. <doc xml:space="preserve">Set the contents of a %G_TYPE_ULONG #GValue to @v_ulong.</doc>
  9819. <return-value transfer-ownership="none">
  9820. <type name="none" c:type="void"/>
  9821. </return-value>
  9822. <parameters>
  9823. <instance-parameter name="value" transfer-ownership="none">
  9824. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_ULONG</doc>
  9825. <type name="Value" c:type="GValue*"/>
  9826. </instance-parameter>
  9827. <parameter name="v_ulong" transfer-ownership="none">
  9828. <doc xml:space="preserve">unsigned long integer value to be set</doc>
  9829. <type name="gulong" c:type="gulong"/>
  9830. </parameter>
  9831. </parameters>
  9832. </method>
  9833. <method name="set_variant"
  9834. c:identifier="g_value_set_variant"
  9835. version="2.26">
  9836. <doc xml:space="preserve">Set the contents of a variant #GValue to @variant.
  9837. If the variant is floating, it is consumed.</doc>
  9838. <return-value transfer-ownership="none">
  9839. <type name="none" c:type="void"/>
  9840. </return-value>
  9841. <parameters>
  9842. <instance-parameter name="value" transfer-ownership="none">
  9843. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_VARIANT</doc>
  9844. <type name="Value" c:type="GValue*"/>
  9845. </instance-parameter>
  9846. <parameter name="variant"
  9847. transfer-ownership="none"
  9848. nullable="1"
  9849. allow-none="1">
  9850. <doc xml:space="preserve">a #GVariant, or %NULL</doc>
  9851. <type name="GLib.Variant" c:type="GVariant*"/>
  9852. </parameter>
  9853. </parameters>
  9854. </method>
  9855. <method name="take_boxed"
  9856. c:identifier="g_value_take_boxed"
  9857. version="2.4">
  9858. <doc xml:space="preserve">Sets the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed
  9859. and takes over the ownership of the callers reference to @v_boxed;
  9860. the caller doesn't have to unref it any more.</doc>
  9861. <return-value transfer-ownership="none">
  9862. <type name="none" c:type="void"/>
  9863. </return-value>
  9864. <parameters>
  9865. <instance-parameter name="value" transfer-ownership="none">
  9866. <doc xml:space="preserve">a valid #GValue of %G_TYPE_BOXED derived type</doc>
  9867. <type name="Value" c:type="GValue*"/>
  9868. </instance-parameter>
  9869. <parameter name="v_boxed"
  9870. transfer-ownership="none"
  9871. nullable="1"
  9872. allow-none="1">
  9873. <doc xml:space="preserve">duplicated unowned boxed value to be set</doc>
  9874. <type name="gpointer" c:type="gconstpointer"/>
  9875. </parameter>
  9876. </parameters>
  9877. </method>
  9878. <method name="take_object"
  9879. c:identifier="g_value_take_object"
  9880. version="2.4"
  9881. introspectable="0">
  9882. <doc xml:space="preserve">Sets the contents of a %G_TYPE_OBJECT derived #GValue to @v_object
  9883. and takes over the ownership of the callers reference to @v_object;
  9884. the caller doesn't have to unref it any more (i.e. the reference
  9885. count of the object is not increased).
  9886. If you want the #GValue to hold its own reference to @v_object, use
  9887. g_value_set_object() instead.</doc>
  9888. <return-value transfer-ownership="none">
  9889. <type name="none" c:type="void"/>
  9890. </return-value>
  9891. <parameters>
  9892. <instance-parameter name="value" transfer-ownership="none">
  9893. <doc xml:space="preserve">a valid #GValue of %G_TYPE_OBJECT derived type</doc>
  9894. <type name="Value" c:type="GValue*"/>
  9895. </instance-parameter>
  9896. <parameter name="v_object"
  9897. transfer-ownership="none"
  9898. nullable="1"
  9899. allow-none="1">
  9900. <doc xml:space="preserve">object value to be set</doc>
  9901. <type name="gpointer" c:type="gpointer"/>
  9902. </parameter>
  9903. </parameters>
  9904. </method>
  9905. <method name="take_param"
  9906. c:identifier="g_value_take_param"
  9907. version="2.4"
  9908. introspectable="0">
  9909. <doc xml:space="preserve">Sets the contents of a %G_TYPE_PARAM #GValue to @param and takes
  9910. over the ownership of the callers reference to @param; the caller
  9911. doesn't have to unref it any more.</doc>
  9912. <return-value transfer-ownership="none">
  9913. <type name="none" c:type="void"/>
  9914. </return-value>
  9915. <parameters>
  9916. <instance-parameter name="value" transfer-ownership="none">
  9917. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_PARAM</doc>
  9918. <type name="Value" c:type="GValue*"/>
  9919. </instance-parameter>
  9920. <parameter name="param"
  9921. transfer-ownership="none"
  9922. nullable="1"
  9923. allow-none="1">
  9924. <doc xml:space="preserve">the #GParamSpec to be set</doc>
  9925. <type name="ParamSpec" c:type="GParamSpec*"/>
  9926. </parameter>
  9927. </parameters>
  9928. </method>
  9929. <method name="take_string"
  9930. c:identifier="g_value_take_string"
  9931. version="2.4">
  9932. <doc xml:space="preserve">Sets the contents of a %G_TYPE_STRING #GValue to @v_string.</doc>
  9933. <return-value transfer-ownership="none">
  9934. <type name="none" c:type="void"/>
  9935. </return-value>
  9936. <parameters>
  9937. <instance-parameter name="value" transfer-ownership="none">
  9938. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_STRING</doc>
  9939. <type name="Value" c:type="GValue*"/>
  9940. </instance-parameter>
  9941. <parameter name="v_string"
  9942. transfer-ownership="none"
  9943. nullable="1"
  9944. allow-none="1">
  9945. <doc xml:space="preserve">string to take ownership of</doc>
  9946. <type name="utf8" c:type="gchar*"/>
  9947. </parameter>
  9948. </parameters>
  9949. </method>
  9950. <method name="take_variant"
  9951. c:identifier="g_value_take_variant"
  9952. version="2.26">
  9953. <doc xml:space="preserve">Set the contents of a variant #GValue to @variant, and takes over
  9954. the ownership of the caller's reference to @variant;
  9955. the caller doesn't have to unref it any more (i.e. the reference
  9956. count of the variant is not increased).
  9957. If @variant was floating then its floating reference is converted to
  9958. a hard reference.
  9959. If you want the #GValue to hold its own reference to @variant, use
  9960. g_value_set_variant() instead.
  9961. This is an internal function introduced mainly for C marshallers.</doc>
  9962. <return-value transfer-ownership="none">
  9963. <type name="none" c:type="void"/>
  9964. </return-value>
  9965. <parameters>
  9966. <instance-parameter name="value" transfer-ownership="none">
  9967. <doc xml:space="preserve">a valid #GValue of type %G_TYPE_VARIANT</doc>
  9968. <type name="Value" c:type="GValue*"/>
  9969. </instance-parameter>
  9970. <parameter name="variant"
  9971. transfer-ownership="full"
  9972. nullable="1"
  9973. allow-none="1">
  9974. <doc xml:space="preserve">a #GVariant, or %NULL</doc>
  9975. <type name="GLib.Variant" c:type="GVariant*"/>
  9976. </parameter>
  9977. </parameters>
  9978. </method>
  9979. <method name="transform" c:identifier="g_value_transform">
  9980. <doc xml:space="preserve">Tries to cast the contents of @src_value into a type appropriate
  9981. to store in @dest_value, e.g. to transform a %G_TYPE_INT value
  9982. into a %G_TYPE_FLOAT value. Performing transformations between
  9983. value types might incur precision lossage. Especially
  9984. transformations into strings might reveal seemingly arbitrary
  9985. results and shouldn't be relied upon for production code (such
  9986. as rcfile value or object property serialization).</doc>
  9987. <return-value transfer-ownership="none">
  9988. <doc xml:space="preserve">Whether a transformation rule was found and could be applied.
  9989. Upon failing transformations, @dest_value is left untouched.</doc>
  9990. <type name="gboolean" c:type="gboolean"/>
  9991. </return-value>
  9992. <parameters>
  9993. <instance-parameter name="src_value" transfer-ownership="none">
  9994. <doc xml:space="preserve">Source value.</doc>
  9995. <type name="Value" c:type="const GValue*"/>
  9996. </instance-parameter>
  9997. <parameter name="dest_value" transfer-ownership="none">
  9998. <doc xml:space="preserve">Target value.</doc>
  9999. <type name="Value" c:type="GValue*"/>
  10000. </parameter>
  10001. </parameters>
  10002. </method>
  10003. <method name="unset" c:identifier="g_value_unset">
  10004. <doc xml:space="preserve">Clears the current value in @value (if any) and "unsets" the type,
  10005. this releases all resources associated with this GValue. An unset
  10006. value is the same as an uninitialized (zero-filled) #GValue
  10007. structure.</doc>
  10008. <return-value transfer-ownership="none">
  10009. <type name="none" c:type="void"/>
  10010. </return-value>
  10011. <parameters>
  10012. <instance-parameter name="value" transfer-ownership="none">
  10013. <doc xml:space="preserve">An initialized #GValue structure.</doc>
  10014. <type name="Value" c:type="GValue*"/>
  10015. </instance-parameter>
  10016. </parameters>
  10017. </method>
  10018. <function name="register_transform_func"
  10019. c:identifier="g_value_register_transform_func"
  10020. introspectable="0">
  10021. <doc xml:space="preserve">Registers a value transformation function for use in g_value_transform().
  10022. A previously registered transformation function for @src_type and @dest_type
  10023. will be replaced.</doc>
  10024. <return-value transfer-ownership="none">
  10025. <type name="none" c:type="void"/>
  10026. </return-value>
  10027. <parameters>
  10028. <parameter name="src_type" transfer-ownership="none">
  10029. <doc xml:space="preserve">Source type.</doc>
  10030. <type name="GType" c:type="GType"/>
  10031. </parameter>
  10032. <parameter name="dest_type" transfer-ownership="none">
  10033. <doc xml:space="preserve">Target type.</doc>
  10034. <type name="GType" c:type="GType"/>
  10035. </parameter>
  10036. <parameter name="transform_func" transfer-ownership="none">
  10037. <doc xml:space="preserve">a function which transforms values of type @src_type
  10038. into value of type @dest_type</doc>
  10039. <type name="ValueTransform" c:type="GValueTransform"/>
  10040. </parameter>
  10041. </parameters>
  10042. </function>
  10043. <function name="type_compatible" c:identifier="g_value_type_compatible">
  10044. <doc xml:space="preserve">Returns whether a #GValue of type @src_type can be copied into
  10045. a #GValue of type @dest_type.</doc>
  10046. <return-value transfer-ownership="none">
  10047. <doc xml:space="preserve">%TRUE if g_value_copy() is possible with @src_type and @dest_type.</doc>
  10048. <type name="gboolean" c:type="gboolean"/>
  10049. </return-value>
  10050. <parameters>
  10051. <parameter name="src_type" transfer-ownership="none">
  10052. <doc xml:space="preserve">source type to be copied.</doc>
  10053. <type name="GType" c:type="GType"/>
  10054. </parameter>
  10055. <parameter name="dest_type" transfer-ownership="none">
  10056. <doc xml:space="preserve">destination type for copying.</doc>
  10057. <type name="GType" c:type="GType"/>
  10058. </parameter>
  10059. </parameters>
  10060. </function>
  10061. <function name="type_transformable"
  10062. c:identifier="g_value_type_transformable">
  10063. <doc xml:space="preserve">Check whether g_value_transform() is able to transform values
  10064. of type @src_type into values of type @dest_type. Note that for
  10065. the types to be transformable, they must be compatible and a
  10066. transform function must be registered.</doc>
  10067. <return-value transfer-ownership="none">
  10068. <doc xml:space="preserve">%TRUE if the transformation is possible, %FALSE otherwise.</doc>
  10069. <type name="gboolean" c:type="gboolean"/>
  10070. </return-value>
  10071. <parameters>
  10072. <parameter name="src_type" transfer-ownership="none">
  10073. <doc xml:space="preserve">Source type.</doc>
  10074. <type name="GType" c:type="GType"/>
  10075. </parameter>
  10076. <parameter name="dest_type" transfer-ownership="none">
  10077. <doc xml:space="preserve">Target type.</doc>
  10078. <type name="GType" c:type="GType"/>
  10079. </parameter>
  10080. </parameters>
  10081. </function>
  10082. </record>
  10083. <record name="ValueArray"
  10084. c:type="GValueArray"
  10085. glib:type-name="GValueArray"
  10086. glib:get-type="g_value_array_get_type"
  10087. c:symbol-prefix="value_array">
  10088. <doc xml:space="preserve">A #GValueArray contains an array of #GValue elements.</doc>
  10089. <field name="n_values" writable="1">
  10090. <doc xml:space="preserve">number of values contained in the array</doc>
  10091. <type name="guint" c:type="guint"/>
  10092. </field>
  10093. <field name="values" writable="1">
  10094. <doc xml:space="preserve">array of values</doc>
  10095. <type name="Value" c:type="GValue*"/>
  10096. </field>
  10097. <field name="n_prealloced" readable="0" private="1">
  10098. <type name="guint" c:type="guint"/>
  10099. </field>
  10100. <constructor name="new"
  10101. c:identifier="g_value_array_new"
  10102. deprecated="1"
  10103. deprecated-version="2.32">
  10104. <doc xml:space="preserve">Allocate and initialize a new #GValueArray, optionally preserve space
  10105. for @n_prealloced elements. New arrays always contain 0 elements,
  10106. regardless of the value of @n_prealloced.</doc>
  10107. <doc-deprecated xml:space="preserve">Use #GArray and g_array_sized_new() instead.</doc-deprecated>
  10108. <return-value transfer-ownership="full">
  10109. <doc xml:space="preserve">a newly allocated #GValueArray with 0 values</doc>
  10110. <type name="ValueArray" c:type="GValueArray*"/>
  10111. </return-value>
  10112. <parameters>
  10113. <parameter name="n_prealloced" transfer-ownership="none">
  10114. <doc xml:space="preserve">number of values to preallocate space for</doc>
  10115. <type name="guint" c:type="guint"/>
  10116. </parameter>
  10117. </parameters>
  10118. </constructor>
  10119. <method name="append"
  10120. c:identifier="g_value_array_append"
  10121. deprecated="1"
  10122. deprecated-version="2.32">
  10123. <doc xml:space="preserve">Insert a copy of @value as last element of @value_array. If @value is
  10124. %NULL, an uninitialized value is appended.</doc>
  10125. <doc-deprecated xml:space="preserve">Use #GArray and g_array_append_val() instead.</doc-deprecated>
  10126. <return-value transfer-ownership="none">
  10127. <doc xml:space="preserve">the #GValueArray passed in as @value_array</doc>
  10128. <type name="ValueArray" c:type="GValueArray*"/>
  10129. </return-value>
  10130. <parameters>
  10131. <instance-parameter name="value_array" transfer-ownership="none">
  10132. <doc xml:space="preserve">#GValueArray to add an element to</doc>
  10133. <type name="ValueArray" c:type="GValueArray*"/>
  10134. </instance-parameter>
  10135. <parameter name="value"
  10136. transfer-ownership="none"
  10137. nullable="1"
  10138. allow-none="1">
  10139. <doc xml:space="preserve">#GValue to copy into #GValueArray, or %NULL</doc>
  10140. <type name="Value" c:type="const GValue*"/>
  10141. </parameter>
  10142. </parameters>
  10143. </method>
  10144. <method name="copy"
  10145. c:identifier="g_value_array_copy"
  10146. deprecated="1"
  10147. deprecated-version="2.32">
  10148. <doc xml:space="preserve">Construct an exact copy of a #GValueArray by duplicating all its
  10149. contents.</doc>
  10150. <doc-deprecated xml:space="preserve">Use #GArray and g_array_ref() instead.</doc-deprecated>
  10151. <return-value transfer-ownership="full">
  10152. <doc xml:space="preserve">Newly allocated copy of #GValueArray</doc>
  10153. <type name="ValueArray" c:type="GValueArray*"/>
  10154. </return-value>
  10155. <parameters>
  10156. <instance-parameter name="value_array" transfer-ownership="none">
  10157. <doc xml:space="preserve">#GValueArray to copy</doc>
  10158. <type name="ValueArray" c:type="const GValueArray*"/>
  10159. </instance-parameter>
  10160. </parameters>
  10161. </method>
  10162. <method name="free"
  10163. c:identifier="g_value_array_free"
  10164. deprecated="1"
  10165. deprecated-version="2.32">
  10166. <doc xml:space="preserve">Free a #GValueArray including its contents.</doc>
  10167. <doc-deprecated xml:space="preserve">Use #GArray and g_array_unref() instead.</doc-deprecated>
  10168. <return-value transfer-ownership="none">
  10169. <type name="none" c:type="void"/>
  10170. </return-value>
  10171. <parameters>
  10172. <instance-parameter name="value_array" transfer-ownership="none">
  10173. <doc xml:space="preserve">#GValueArray to free</doc>
  10174. <type name="ValueArray" c:type="GValueArray*"/>
  10175. </instance-parameter>
  10176. </parameters>
  10177. </method>
  10178. <method name="get_nth"
  10179. c:identifier="g_value_array_get_nth"
  10180. deprecated="1"
  10181. deprecated-version="2.32">
  10182. <doc xml:space="preserve">Return a pointer to the value at @index_ containd in @value_array.</doc>
  10183. <doc-deprecated xml:space="preserve">Use g_array_index() instead.</doc-deprecated>
  10184. <return-value transfer-ownership="none">
  10185. <doc xml:space="preserve">pointer to a value at @index_ in @value_array</doc>
  10186. <type name="Value" c:type="GValue*"/>
  10187. </return-value>
  10188. <parameters>
  10189. <instance-parameter name="value_array" transfer-ownership="none">
  10190. <doc xml:space="preserve">#GValueArray to get a value from</doc>
  10191. <type name="ValueArray" c:type="GValueArray*"/>
  10192. </instance-parameter>
  10193. <parameter name="index_" transfer-ownership="none">
  10194. <doc xml:space="preserve">index of the value of interest</doc>
  10195. <type name="guint" c:type="guint"/>
  10196. </parameter>
  10197. </parameters>
  10198. </method>
  10199. <method name="insert"
  10200. c:identifier="g_value_array_insert"
  10201. deprecated="1"
  10202. deprecated-version="2.32">
  10203. <doc xml:space="preserve">Insert a copy of @value at specified position into @value_array. If @value
  10204. is %NULL, an uninitialized value is inserted.</doc>
  10205. <doc-deprecated xml:space="preserve">Use #GArray and g_array_insert_val() instead.</doc-deprecated>
  10206. <return-value transfer-ownership="none">
  10207. <doc xml:space="preserve">the #GValueArray passed in as @value_array</doc>
  10208. <type name="ValueArray" c:type="GValueArray*"/>
  10209. </return-value>
  10210. <parameters>
  10211. <instance-parameter name="value_array" transfer-ownership="none">
  10212. <doc xml:space="preserve">#GValueArray to add an element to</doc>
  10213. <type name="ValueArray" c:type="GValueArray*"/>
  10214. </instance-parameter>
  10215. <parameter name="index_" transfer-ownership="none">
  10216. <doc xml:space="preserve">insertion position, must be &lt;= value_array-&amp;gt;n_values</doc>
  10217. <type name="guint" c:type="guint"/>
  10218. </parameter>
  10219. <parameter name="value"
  10220. transfer-ownership="none"
  10221. nullable="1"
  10222. allow-none="1">
  10223. <doc xml:space="preserve">#GValue to copy into #GValueArray, or %NULL</doc>
  10224. <type name="Value" c:type="const GValue*"/>
  10225. </parameter>
  10226. </parameters>
  10227. </method>
  10228. <method name="prepend"
  10229. c:identifier="g_value_array_prepend"
  10230. deprecated="1"
  10231. deprecated-version="2.32">
  10232. <doc xml:space="preserve">Insert a copy of @value as first element of @value_array. If @value is
  10233. %NULL, an uninitialized value is prepended.</doc>
  10234. <doc-deprecated xml:space="preserve">Use #GArray and g_array_prepend_val() instead.</doc-deprecated>
  10235. <return-value transfer-ownership="none">
  10236. <doc xml:space="preserve">the #GValueArray passed in as @value_array</doc>
  10237. <type name="ValueArray" c:type="GValueArray*"/>
  10238. </return-value>
  10239. <parameters>
  10240. <instance-parameter name="value_array" transfer-ownership="none">
  10241. <doc xml:space="preserve">#GValueArray to add an element to</doc>
  10242. <type name="ValueArray" c:type="GValueArray*"/>
  10243. </instance-parameter>
  10244. <parameter name="value"
  10245. transfer-ownership="none"
  10246. nullable="1"
  10247. allow-none="1">
  10248. <doc xml:space="preserve">#GValue to copy into #GValueArray, or %NULL</doc>
  10249. <type name="Value" c:type="const GValue*"/>
  10250. </parameter>
  10251. </parameters>
  10252. </method>
  10253. <method name="remove"
  10254. c:identifier="g_value_array_remove"
  10255. deprecated="1"
  10256. deprecated-version="2.32">
  10257. <doc xml:space="preserve">Remove the value at position @index_ from @value_array.</doc>
  10258. <doc-deprecated xml:space="preserve">Use #GArray and g_array_remove_index() instead.</doc-deprecated>
  10259. <return-value transfer-ownership="none">
  10260. <doc xml:space="preserve">the #GValueArray passed in as @value_array</doc>
  10261. <type name="ValueArray" c:type="GValueArray*"/>
  10262. </return-value>
  10263. <parameters>
  10264. <instance-parameter name="value_array" transfer-ownership="none">
  10265. <doc xml:space="preserve">#GValueArray to remove an element from</doc>
  10266. <type name="ValueArray" c:type="GValueArray*"/>
  10267. </instance-parameter>
  10268. <parameter name="index_" transfer-ownership="none">
  10269. <doc xml:space="preserve">position of value to remove, which must be less than
  10270. @value_array-&gt;n_values</doc>
  10271. <type name="guint" c:type="guint"/>
  10272. </parameter>
  10273. </parameters>
  10274. </method>
  10275. <method name="sort"
  10276. c:identifier="g_value_array_sort"
  10277. shadowed-by="sort_with_data"
  10278. deprecated="1"
  10279. deprecated-version="2.32">
  10280. <doc xml:space="preserve">Sort @value_array using @compare_func to compare the elements according to
  10281. the semantics of #GCompareFunc.
  10282. The current implementation uses the same sorting algorithm as standard
  10283. C qsort() function.</doc>
  10284. <doc-deprecated xml:space="preserve">Use #GArray and g_array_sort().</doc-deprecated>
  10285. <return-value transfer-ownership="none">
  10286. <doc xml:space="preserve">the #GValueArray passed in as @value_array</doc>
  10287. <type name="ValueArray" c:type="GValueArray*"/>
  10288. </return-value>
  10289. <parameters>
  10290. <instance-parameter name="value_array" transfer-ownership="none">
  10291. <doc xml:space="preserve">#GValueArray to sort</doc>
  10292. <type name="ValueArray" c:type="GValueArray*"/>
  10293. </instance-parameter>
  10294. <parameter name="compare_func"
  10295. transfer-ownership="none"
  10296. scope="call">
  10297. <doc xml:space="preserve">function to compare elements</doc>
  10298. <type name="GLib.CompareFunc" c:type="GCompareFunc"/>
  10299. </parameter>
  10300. </parameters>
  10301. </method>
  10302. <method name="sort_with_data"
  10303. c:identifier="g_value_array_sort_with_data"
  10304. shadows="sort"
  10305. deprecated="1"
  10306. deprecated-version="2.32">
  10307. <doc xml:space="preserve">Sort @value_array using @compare_func to compare the elements according
  10308. to the semantics of #GCompareDataFunc.
  10309. The current implementation uses the same sorting algorithm as standard
  10310. C qsort() function.</doc>
  10311. <doc-deprecated xml:space="preserve">Use #GArray and g_array_sort_with_data().</doc-deprecated>
  10312. <return-value transfer-ownership="none">
  10313. <doc xml:space="preserve">the #GValueArray passed in as @value_array</doc>
  10314. <type name="ValueArray" c:type="GValueArray*"/>
  10315. </return-value>
  10316. <parameters>
  10317. <instance-parameter name="value_array" transfer-ownership="none">
  10318. <doc xml:space="preserve">#GValueArray to sort</doc>
  10319. <type name="ValueArray" c:type="GValueArray*"/>
  10320. </instance-parameter>
  10321. <parameter name="compare_func"
  10322. transfer-ownership="none"
  10323. scope="call"
  10324. closure="1">
  10325. <doc xml:space="preserve">function to compare elements</doc>
  10326. <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
  10327. </parameter>
  10328. <parameter name="user_data"
  10329. transfer-ownership="none"
  10330. nullable="1"
  10331. allow-none="1">
  10332. <doc xml:space="preserve">extra data argument provided for @compare_func</doc>
  10333. <type name="gpointer" c:type="gpointer"/>
  10334. </parameter>
  10335. </parameters>
  10336. </method>
  10337. </record>
  10338. <callback name="ValueTransform" c:type="GValueTransform">
  10339. <doc xml:space="preserve">The type of value transformation functions which can be registered with
  10340. g_value_register_transform_func().</doc>
  10341. <return-value transfer-ownership="none">
  10342. <type name="none" c:type="void"/>
  10343. </return-value>
  10344. <parameters>
  10345. <parameter name="src_value" transfer-ownership="none">
  10346. <doc xml:space="preserve">Source value.</doc>
  10347. <type name="Value" c:type="const GValue*"/>
  10348. </parameter>
  10349. <parameter name="dest_value" transfer-ownership="none">
  10350. <doc xml:space="preserve">Target value.</doc>
  10351. <type name="Value" c:type="GValue*"/>
  10352. </parameter>
  10353. </parameters>
  10354. </callback>
  10355. <callback name="WeakNotify" c:type="GWeakNotify">
  10356. <doc xml:space="preserve">A #GWeakNotify function can be added to an object as a callback that gets
  10357. triggered when the object is finalized. Since the object is already being
  10358. finalized when the #GWeakNotify is called, there's not much you could do
  10359. with the object, apart from e.g. using its address as hash-index or the like.</doc>
  10360. <return-value transfer-ownership="none">
  10361. <type name="none" c:type="void"/>
  10362. </return-value>
  10363. <parameters>
  10364. <parameter name="data"
  10365. transfer-ownership="none"
  10366. nullable="1"
  10367. allow-none="1">
  10368. <doc xml:space="preserve">data that was provided when the weak reference was established</doc>
  10369. <type name="gpointer" c:type="gpointer"/>
  10370. </parameter>
  10371. <parameter name="where_the_object_was" transfer-ownership="none">
  10372. <doc xml:space="preserve">the object being finalized</doc>
  10373. <type name="Object" c:type="GObject*"/>
  10374. </parameter>
  10375. </parameters>
  10376. </callback>
  10377. <record name="WeakRef" c:type="GWeakRef">
  10378. <doc xml:space="preserve">A structure containing a weak reference to a #GObject. It can either
  10379. be empty (i.e. point to %NULL), or point to an object for as long as
  10380. at least one "strong" reference to that object exists. Before the
  10381. object's #GObjectClass.dispose method is called, every #GWeakRef
  10382. associated with becomes empty (i.e. points to %NULL).
  10383. Like #GValue, #GWeakRef can be statically allocated, stack- or
  10384. heap-allocated, or embedded in larger structures.
  10385. Unlike g_object_weak_ref() and g_object_add_weak_pointer(), this weak
  10386. reference is thread-safe: converting a weak pointer to a reference is
  10387. atomic with respect to invalidation of weak pointers to destroyed
  10388. objects.
  10389. If the object's #GObjectClass.dispose method results in additional
  10390. references to the object being held, any #GWeakRefs taken
  10391. before it was disposed will continue to point to %NULL. If
  10392. #GWeakRefs are taken after the object is disposed and
  10393. re-referenced, they will continue to point to it until its refcount
  10394. goes back to zero, at which point they too will be invalidated.</doc>
  10395. <union name="priv" c:type="priv">
  10396. <field name="p" writable="1">
  10397. <type name="gpointer" c:type="gpointer"/>
  10398. </field>
  10399. </union>
  10400. <method name="clear"
  10401. c:identifier="g_weak_ref_clear"
  10402. version="2.32"
  10403. introspectable="0">
  10404. <doc xml:space="preserve">Frees resources associated with a non-statically-allocated #GWeakRef.
  10405. After this call, the #GWeakRef is left in an undefined state.
  10406. You should only call this on a #GWeakRef that previously had
  10407. g_weak_ref_init() called on it.</doc>
  10408. <return-value transfer-ownership="none">
  10409. <type name="none" c:type="void"/>
  10410. </return-value>
  10411. <parameters>
  10412. <instance-parameter name="weak_ref"
  10413. direction="inout"
  10414. caller-allocates="0"
  10415. transfer-ownership="full">
  10416. <doc xml:space="preserve">location of a weak reference, which
  10417. may be empty</doc>
  10418. <type name="WeakRef" c:type="GWeakRef*"/>
  10419. </instance-parameter>
  10420. </parameters>
  10421. </method>
  10422. <method name="get"
  10423. c:identifier="g_weak_ref_get"
  10424. version="2.32"
  10425. introspectable="0">
  10426. <doc xml:space="preserve">If @weak_ref is not empty, atomically acquire a strong
  10427. reference to the object it points to, and return that reference.
  10428. This function is needed because of the potential race between taking
  10429. the pointer value and g_object_ref() on it, if the object was losing
  10430. its last reference at the same time in a different thread.
  10431. The caller should release the resulting reference in the usual way,
  10432. by using g_object_unref().</doc>
  10433. <return-value transfer-ownership="full">
  10434. <doc xml:space="preserve">the object pointed to
  10435. by @weak_ref, or %NULL if it was empty</doc>
  10436. <type name="Object" c:type="gpointer"/>
  10437. </return-value>
  10438. <parameters>
  10439. <instance-parameter name="weak_ref"
  10440. direction="inout"
  10441. caller-allocates="0"
  10442. transfer-ownership="full">
  10443. <doc xml:space="preserve">location of a weak reference to a #GObject</doc>
  10444. <type name="WeakRef" c:type="GWeakRef*"/>
  10445. </instance-parameter>
  10446. </parameters>
  10447. </method>
  10448. <method name="init"
  10449. c:identifier="g_weak_ref_init"
  10450. version="2.32"
  10451. introspectable="0">
  10452. <doc xml:space="preserve">Initialise a non-statically-allocated #GWeakRef.
  10453. This function also calls g_weak_ref_set() with @object on the
  10454. freshly-initialised weak reference.
  10455. This function should always be matched with a call to
  10456. g_weak_ref_clear(). It is not necessary to use this function for a
  10457. #GWeakRef in static storage because it will already be
  10458. properly initialised. Just use g_weak_ref_set() directly.</doc>
  10459. <return-value transfer-ownership="none">
  10460. <type name="none" c:type="void"/>
  10461. </return-value>
  10462. <parameters>
  10463. <instance-parameter name="weak_ref"
  10464. direction="inout"
  10465. caller-allocates="0"
  10466. transfer-ownership="full">
  10467. <doc xml:space="preserve">uninitialized or empty location for a weak
  10468. reference</doc>
  10469. <type name="WeakRef" c:type="GWeakRef*"/>
  10470. </instance-parameter>
  10471. <parameter name="object"
  10472. transfer-ownership="none"
  10473. nullable="1"
  10474. allow-none="1">
  10475. <doc xml:space="preserve">a #GObject or %NULL</doc>
  10476. <type name="Object" c:type="gpointer"/>
  10477. </parameter>
  10478. </parameters>
  10479. </method>
  10480. <method name="set"
  10481. c:identifier="g_weak_ref_set"
  10482. version="2.32"
  10483. introspectable="0">
  10484. <doc xml:space="preserve">Change the object to which @weak_ref points, or set it to
  10485. %NULL.
  10486. You must own a strong reference on @object while calling this
  10487. function.</doc>
  10488. <return-value transfer-ownership="none">
  10489. <type name="none" c:type="void"/>
  10490. </return-value>
  10491. <parameters>
  10492. <instance-parameter name="weak_ref" transfer-ownership="none">
  10493. <doc xml:space="preserve">location for a weak reference</doc>
  10494. <type name="WeakRef" c:type="GWeakRef*"/>
  10495. </instance-parameter>
  10496. <parameter name="object"
  10497. transfer-ownership="none"
  10498. nullable="1"
  10499. allow-none="1">
  10500. <doc xml:space="preserve">a #GObject or %NULL</doc>
  10501. <type name="Object" c:type="gpointer"/>
  10502. </parameter>
  10503. </parameters>
  10504. </method>
  10505. </record>
  10506. <union name="_Value__data__union">
  10507. <field name="v_int" writable="1">
  10508. <type name="gint" c:type="gint"/>
  10509. </field>
  10510. <field name="v_uint" writable="1">
  10511. <type name="guint" c:type="guint"/>
  10512. </field>
  10513. <field name="v_long" writable="1">
  10514. <type name="glong" c:type="glong"/>
  10515. </field>
  10516. <field name="v_ulong" writable="1">
  10517. <type name="gulong" c:type="gulong"/>
  10518. </field>
  10519. <field name="v_int64" writable="1">
  10520. <type name="gint64" c:type="gint64"/>
  10521. </field>
  10522. <field name="v_uint64" writable="1">
  10523. <type name="guint64" c:type="guint64"/>
  10524. </field>
  10525. <field name="v_float" writable="1">
  10526. <type name="gfloat" c:type="gfloat"/>
  10527. </field>
  10528. <field name="v_double" writable="1">
  10529. <type name="gdouble" c:type="gdouble"/>
  10530. </field>
  10531. <field name="v_pointer" writable="1">
  10532. <type name="gpointer" c:type="gpointer"/>
  10533. </field>
  10534. </union>
  10535. <function name="boxed_copy" c:identifier="g_boxed_copy">
  10536. <doc xml:space="preserve">Provide a copy of a boxed structure @src_boxed which is of type @boxed_type.</doc>
  10537. <return-value transfer-ownership="full">
  10538. <doc xml:space="preserve">The newly created copy of the boxed
  10539. structure.</doc>
  10540. <type name="gpointer" c:type="gpointer"/>
  10541. </return-value>
  10542. <parameters>
  10543. <parameter name="boxed_type" transfer-ownership="none">
  10544. <doc xml:space="preserve">The type of @src_boxed.</doc>
  10545. <type name="GType" c:type="GType"/>
  10546. </parameter>
  10547. <parameter name="src_boxed" transfer-ownership="none">
  10548. <doc xml:space="preserve">The boxed structure to be copied.</doc>
  10549. <type name="gpointer" c:type="gconstpointer"/>
  10550. </parameter>
  10551. </parameters>
  10552. </function>
  10553. <function name="boxed_free" c:identifier="g_boxed_free">
  10554. <doc xml:space="preserve">Free the boxed structure @boxed which is of type @boxed_type.</doc>
  10555. <return-value transfer-ownership="none">
  10556. <type name="none" c:type="void"/>
  10557. </return-value>
  10558. <parameters>
  10559. <parameter name="boxed_type" transfer-ownership="none">
  10560. <doc xml:space="preserve">The type of @boxed.</doc>
  10561. <type name="GType" c:type="GType"/>
  10562. </parameter>
  10563. <parameter name="boxed" transfer-ownership="none">
  10564. <doc xml:space="preserve">The boxed structure to be freed.</doc>
  10565. <type name="gpointer" c:type="gpointer"/>
  10566. </parameter>
  10567. </parameters>
  10568. </function>
  10569. <function name="boxed_type_register_static"
  10570. c:identifier="g_boxed_type_register_static"
  10571. introspectable="0">
  10572. <doc xml:space="preserve">This function creates a new %G_TYPE_BOXED derived type id for a new
  10573. boxed type with name @name. Boxed type handling functions have to be
  10574. provided to copy and free opaque boxed structures of this type.</doc>
  10575. <return-value transfer-ownership="none">
  10576. <doc xml:space="preserve">New %G_TYPE_BOXED derived type id for @name.</doc>
  10577. <type name="GType" c:type="GType"/>
  10578. </return-value>
  10579. <parameters>
  10580. <parameter name="name" transfer-ownership="none">
  10581. <doc xml:space="preserve">Name of the new boxed type.</doc>
  10582. <type name="utf8" c:type="const gchar*"/>
  10583. </parameter>
  10584. <parameter name="boxed_copy" transfer-ownership="none">
  10585. <doc xml:space="preserve">Boxed structure copy function.</doc>
  10586. <type name="BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
  10587. </parameter>
  10588. <parameter name="boxed_free" transfer-ownership="none">
  10589. <doc xml:space="preserve">Boxed structure free function.</doc>
  10590. <type name="BoxedFreeFunc" c:type="GBoxedFreeFunc"/>
  10591. </parameter>
  10592. </parameters>
  10593. </function>
  10594. <function name="cclosure_marshal_BOOLEAN__BOXED_BOXED"
  10595. c:identifier="g_cclosure_marshal_BOOLEAN__BOXED_BOXED"
  10596. moved-to="CClosure.marshal_BOOLEAN__BOXED_BOXED">
  10597. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with handlers that
  10598. take two boxed pointers as arguments and return a boolean. If you
  10599. have such a signal, you will probably also need to use an
  10600. accumulator, such as g_signal_accumulator_true_handled().</doc>
  10601. <return-value transfer-ownership="none">
  10602. <type name="none" c:type="void"/>
  10603. </return-value>
  10604. <parameters>
  10605. <parameter name="closure" transfer-ownership="none">
  10606. <doc xml:space="preserve">A #GClosure.</doc>
  10607. <type name="Closure" c:type="GClosure*"/>
  10608. </parameter>
  10609. <parameter name="return_value" transfer-ownership="none">
  10610. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  10611. if the callback of closure doesn't return a value.</doc>
  10612. <type name="Value" c:type="GValue*"/>
  10613. </parameter>
  10614. <parameter name="n_param_values" transfer-ownership="none">
  10615. <doc xml:space="preserve">The length of the @param_values array.</doc>
  10616. <type name="guint" c:type="guint"/>
  10617. </parameter>
  10618. <parameter name="param_values" transfer-ownership="none">
  10619. <doc xml:space="preserve">An array of #GValues holding the arguments
  10620. on which to invoke the callback of closure.</doc>
  10621. <type name="Value" c:type="const GValue*"/>
  10622. </parameter>
  10623. <parameter name="invocation_hint"
  10624. transfer-ownership="none"
  10625. nullable="1"
  10626. allow-none="1">
  10627. <doc xml:space="preserve">The invocation hint given as the last argument to
  10628. g_closure_invoke().</doc>
  10629. <type name="gpointer" c:type="gpointer"/>
  10630. </parameter>
  10631. <parameter name="marshal_data"
  10632. transfer-ownership="none"
  10633. nullable="1"
  10634. allow-none="1">
  10635. <doc xml:space="preserve">Additional data specified when registering the
  10636. marshaller, see g_closure_set_marshal() and
  10637. g_closure_set_meta_marshal()</doc>
  10638. <type name="gpointer" c:type="gpointer"/>
  10639. </parameter>
  10640. </parameters>
  10641. </function>
  10642. <function name="cclosure_marshal_BOOLEAN__FLAGS"
  10643. c:identifier="g_cclosure_marshal_BOOLEAN__FLAGS"
  10644. moved-to="CClosure.marshal_BOOLEAN__FLAGS">
  10645. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with handlers that
  10646. take a flags type as an argument and return a boolean. If you have
  10647. such a signal, you will probably also need to use an accumulator,
  10648. such as g_signal_accumulator_true_handled().</doc>
  10649. <return-value transfer-ownership="none">
  10650. <type name="none" c:type="void"/>
  10651. </return-value>
  10652. <parameters>
  10653. <parameter name="closure" transfer-ownership="none">
  10654. <doc xml:space="preserve">A #GClosure.</doc>
  10655. <type name="Closure" c:type="GClosure*"/>
  10656. </parameter>
  10657. <parameter name="return_value" transfer-ownership="none">
  10658. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  10659. if the callback of closure doesn't return a value.</doc>
  10660. <type name="Value" c:type="GValue*"/>
  10661. </parameter>
  10662. <parameter name="n_param_values" transfer-ownership="none">
  10663. <doc xml:space="preserve">The length of the @param_values array.</doc>
  10664. <type name="guint" c:type="guint"/>
  10665. </parameter>
  10666. <parameter name="param_values" transfer-ownership="none">
  10667. <doc xml:space="preserve">An array of #GValues holding the arguments
  10668. on which to invoke the callback of closure.</doc>
  10669. <type name="Value" c:type="const GValue*"/>
  10670. </parameter>
  10671. <parameter name="invocation_hint"
  10672. transfer-ownership="none"
  10673. nullable="1"
  10674. allow-none="1">
  10675. <doc xml:space="preserve">The invocation hint given as the last argument to
  10676. g_closure_invoke().</doc>
  10677. <type name="gpointer" c:type="gpointer"/>
  10678. </parameter>
  10679. <parameter name="marshal_data"
  10680. transfer-ownership="none"
  10681. nullable="1"
  10682. allow-none="1">
  10683. <doc xml:space="preserve">Additional data specified when registering the
  10684. marshaller, see g_closure_set_marshal() and
  10685. g_closure_set_meta_marshal()</doc>
  10686. <type name="gpointer" c:type="gpointer"/>
  10687. </parameter>
  10688. </parameters>
  10689. </function>
  10690. <function name="cclosure_marshal_STRING__OBJECT_POINTER"
  10691. c:identifier="g_cclosure_marshal_STRING__OBJECT_POINTER"
  10692. moved-to="CClosure.marshal_STRING__OBJECT_POINTER">
  10693. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with handlers that
  10694. take a #GObject and a pointer and produce a string. It is highly
  10695. unlikely that your signal handler fits this description.</doc>
  10696. <return-value transfer-ownership="none">
  10697. <type name="none" c:type="void"/>
  10698. </return-value>
  10699. <parameters>
  10700. <parameter name="closure" transfer-ownership="none">
  10701. <doc xml:space="preserve">A #GClosure.</doc>
  10702. <type name="Closure" c:type="GClosure*"/>
  10703. </parameter>
  10704. <parameter name="return_value" transfer-ownership="none">
  10705. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  10706. if the callback of closure doesn't return a value.</doc>
  10707. <type name="Value" c:type="GValue*"/>
  10708. </parameter>
  10709. <parameter name="n_param_values" transfer-ownership="none">
  10710. <doc xml:space="preserve">The length of the @param_values array.</doc>
  10711. <type name="guint" c:type="guint"/>
  10712. </parameter>
  10713. <parameter name="param_values" transfer-ownership="none">
  10714. <doc xml:space="preserve">An array of #GValues holding the arguments
  10715. on which to invoke the callback of closure.</doc>
  10716. <type name="Value" c:type="const GValue*"/>
  10717. </parameter>
  10718. <parameter name="invocation_hint"
  10719. transfer-ownership="none"
  10720. nullable="1"
  10721. allow-none="1">
  10722. <doc xml:space="preserve">The invocation hint given as the last argument to
  10723. g_closure_invoke().</doc>
  10724. <type name="gpointer" c:type="gpointer"/>
  10725. </parameter>
  10726. <parameter name="marshal_data"
  10727. transfer-ownership="none"
  10728. nullable="1"
  10729. allow-none="1">
  10730. <doc xml:space="preserve">Additional data specified when registering the
  10731. marshaller, see g_closure_set_marshal() and
  10732. g_closure_set_meta_marshal()</doc>
  10733. <type name="gpointer" c:type="gpointer"/>
  10734. </parameter>
  10735. </parameters>
  10736. </function>
  10737. <function name="cclosure_marshal_VOID__BOOLEAN"
  10738. c:identifier="g_cclosure_marshal_VOID__BOOLEAN"
  10739. moved-to="CClosure.marshal_VOID__BOOLEAN">
  10740. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  10741. boolean argument.</doc>
  10742. <return-value transfer-ownership="none">
  10743. <type name="none" c:type="void"/>
  10744. </return-value>
  10745. <parameters>
  10746. <parameter name="closure" transfer-ownership="none">
  10747. <doc xml:space="preserve">A #GClosure.</doc>
  10748. <type name="Closure" c:type="GClosure*"/>
  10749. </parameter>
  10750. <parameter name="return_value" transfer-ownership="none">
  10751. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  10752. if the callback of closure doesn't return a value.</doc>
  10753. <type name="Value" c:type="GValue*"/>
  10754. </parameter>
  10755. <parameter name="n_param_values" transfer-ownership="none">
  10756. <doc xml:space="preserve">The length of the @param_values array.</doc>
  10757. <type name="guint" c:type="guint"/>
  10758. </parameter>
  10759. <parameter name="param_values" transfer-ownership="none">
  10760. <doc xml:space="preserve">An array of #GValues holding the arguments
  10761. on which to invoke the callback of closure.</doc>
  10762. <type name="Value" c:type="const GValue*"/>
  10763. </parameter>
  10764. <parameter name="invocation_hint"
  10765. transfer-ownership="none"
  10766. nullable="1"
  10767. allow-none="1">
  10768. <doc xml:space="preserve">The invocation hint given as the last argument to
  10769. g_closure_invoke().</doc>
  10770. <type name="gpointer" c:type="gpointer"/>
  10771. </parameter>
  10772. <parameter name="marshal_data"
  10773. transfer-ownership="none"
  10774. nullable="1"
  10775. allow-none="1">
  10776. <doc xml:space="preserve">Additional data specified when registering the
  10777. marshaller, see g_closure_set_marshal() and
  10778. g_closure_set_meta_marshal()</doc>
  10779. <type name="gpointer" c:type="gpointer"/>
  10780. </parameter>
  10781. </parameters>
  10782. </function>
  10783. <function name="cclosure_marshal_VOID__BOXED"
  10784. c:identifier="g_cclosure_marshal_VOID__BOXED"
  10785. moved-to="CClosure.marshal_VOID__BOXED">
  10786. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  10787. argument which is any boxed pointer type.</doc>
  10788. <return-value transfer-ownership="none">
  10789. <type name="none" c:type="void"/>
  10790. </return-value>
  10791. <parameters>
  10792. <parameter name="closure" transfer-ownership="none">
  10793. <doc xml:space="preserve">A #GClosure.</doc>
  10794. <type name="Closure" c:type="GClosure*"/>
  10795. </parameter>
  10796. <parameter name="return_value" transfer-ownership="none">
  10797. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  10798. if the callback of closure doesn't return a value.</doc>
  10799. <type name="Value" c:type="GValue*"/>
  10800. </parameter>
  10801. <parameter name="n_param_values" transfer-ownership="none">
  10802. <doc xml:space="preserve">The length of the @param_values array.</doc>
  10803. <type name="guint" c:type="guint"/>
  10804. </parameter>
  10805. <parameter name="param_values" transfer-ownership="none">
  10806. <doc xml:space="preserve">An array of #GValues holding the arguments
  10807. on which to invoke the callback of closure.</doc>
  10808. <type name="Value" c:type="const GValue*"/>
  10809. </parameter>
  10810. <parameter name="invocation_hint"
  10811. transfer-ownership="none"
  10812. nullable="1"
  10813. allow-none="1">
  10814. <doc xml:space="preserve">The invocation hint given as the last argument to
  10815. g_closure_invoke().</doc>
  10816. <type name="gpointer" c:type="gpointer"/>
  10817. </parameter>
  10818. <parameter name="marshal_data"
  10819. transfer-ownership="none"
  10820. nullable="1"
  10821. allow-none="1">
  10822. <doc xml:space="preserve">Additional data specified when registering the
  10823. marshaller, see g_closure_set_marshal() and
  10824. g_closure_set_meta_marshal()</doc>
  10825. <type name="gpointer" c:type="gpointer"/>
  10826. </parameter>
  10827. </parameters>
  10828. </function>
  10829. <function name="cclosure_marshal_VOID__CHAR"
  10830. c:identifier="g_cclosure_marshal_VOID__CHAR"
  10831. moved-to="CClosure.marshal_VOID__CHAR">
  10832. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  10833. character argument.</doc>
  10834. <return-value transfer-ownership="none">
  10835. <type name="none" c:type="void"/>
  10836. </return-value>
  10837. <parameters>
  10838. <parameter name="closure" transfer-ownership="none">
  10839. <doc xml:space="preserve">A #GClosure.</doc>
  10840. <type name="Closure" c:type="GClosure*"/>
  10841. </parameter>
  10842. <parameter name="return_value" transfer-ownership="none">
  10843. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  10844. if the callback of closure doesn't return a value.</doc>
  10845. <type name="Value" c:type="GValue*"/>
  10846. </parameter>
  10847. <parameter name="n_param_values" transfer-ownership="none">
  10848. <doc xml:space="preserve">The length of the @param_values array.</doc>
  10849. <type name="guint" c:type="guint"/>
  10850. </parameter>
  10851. <parameter name="param_values" transfer-ownership="none">
  10852. <doc xml:space="preserve">An array of #GValues holding the arguments
  10853. on which to invoke the callback of closure.</doc>
  10854. <type name="Value" c:type="const GValue*"/>
  10855. </parameter>
  10856. <parameter name="invocation_hint"
  10857. transfer-ownership="none"
  10858. nullable="1"
  10859. allow-none="1">
  10860. <doc xml:space="preserve">The invocation hint given as the last argument to
  10861. g_closure_invoke().</doc>
  10862. <type name="gpointer" c:type="gpointer"/>
  10863. </parameter>
  10864. <parameter name="marshal_data"
  10865. transfer-ownership="none"
  10866. nullable="1"
  10867. allow-none="1">
  10868. <doc xml:space="preserve">Additional data specified when registering the
  10869. marshaller, see g_closure_set_marshal() and
  10870. g_closure_set_meta_marshal()</doc>
  10871. <type name="gpointer" c:type="gpointer"/>
  10872. </parameter>
  10873. </parameters>
  10874. </function>
  10875. <function name="cclosure_marshal_VOID__DOUBLE"
  10876. c:identifier="g_cclosure_marshal_VOID__DOUBLE"
  10877. moved-to="CClosure.marshal_VOID__DOUBLE">
  10878. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with one
  10879. double-precision floating point argument.</doc>
  10880. <return-value transfer-ownership="none">
  10881. <type name="none" c:type="void"/>
  10882. </return-value>
  10883. <parameters>
  10884. <parameter name="closure" transfer-ownership="none">
  10885. <doc xml:space="preserve">A #GClosure.</doc>
  10886. <type name="Closure" c:type="GClosure*"/>
  10887. </parameter>
  10888. <parameter name="return_value" transfer-ownership="none">
  10889. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  10890. if the callback of closure doesn't return a value.</doc>
  10891. <type name="Value" c:type="GValue*"/>
  10892. </parameter>
  10893. <parameter name="n_param_values" transfer-ownership="none">
  10894. <doc xml:space="preserve">The length of the @param_values array.</doc>
  10895. <type name="guint" c:type="guint"/>
  10896. </parameter>
  10897. <parameter name="param_values" transfer-ownership="none">
  10898. <doc xml:space="preserve">An array of #GValues holding the arguments
  10899. on which to invoke the callback of closure.</doc>
  10900. <type name="Value" c:type="const GValue*"/>
  10901. </parameter>
  10902. <parameter name="invocation_hint"
  10903. transfer-ownership="none"
  10904. nullable="1"
  10905. allow-none="1">
  10906. <doc xml:space="preserve">The invocation hint given as the last argument to
  10907. g_closure_invoke().</doc>
  10908. <type name="gpointer" c:type="gpointer"/>
  10909. </parameter>
  10910. <parameter name="marshal_data"
  10911. transfer-ownership="none"
  10912. nullable="1"
  10913. allow-none="1">
  10914. <doc xml:space="preserve">Additional data specified when registering the
  10915. marshaller, see g_closure_set_marshal() and
  10916. g_closure_set_meta_marshal()</doc>
  10917. <type name="gpointer" c:type="gpointer"/>
  10918. </parameter>
  10919. </parameters>
  10920. </function>
  10921. <function name="cclosure_marshal_VOID__ENUM"
  10922. c:identifier="g_cclosure_marshal_VOID__ENUM"
  10923. moved-to="CClosure.marshal_VOID__ENUM">
  10924. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  10925. argument with an enumerated type.</doc>
  10926. <return-value transfer-ownership="none">
  10927. <type name="none" c:type="void"/>
  10928. </return-value>
  10929. <parameters>
  10930. <parameter name="closure" transfer-ownership="none">
  10931. <doc xml:space="preserve">A #GClosure.</doc>
  10932. <type name="Closure" c:type="GClosure*"/>
  10933. </parameter>
  10934. <parameter name="return_value" transfer-ownership="none">
  10935. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  10936. if the callback of closure doesn't return a value.</doc>
  10937. <type name="Value" c:type="GValue*"/>
  10938. </parameter>
  10939. <parameter name="n_param_values" transfer-ownership="none">
  10940. <doc xml:space="preserve">The length of the @param_values array.</doc>
  10941. <type name="guint" c:type="guint"/>
  10942. </parameter>
  10943. <parameter name="param_values" transfer-ownership="none">
  10944. <doc xml:space="preserve">An array of #GValues holding the arguments
  10945. on which to invoke the callback of closure.</doc>
  10946. <type name="Value" c:type="const GValue*"/>
  10947. </parameter>
  10948. <parameter name="invocation_hint"
  10949. transfer-ownership="none"
  10950. nullable="1"
  10951. allow-none="1">
  10952. <doc xml:space="preserve">The invocation hint given as the last argument to
  10953. g_closure_invoke().</doc>
  10954. <type name="gpointer" c:type="gpointer"/>
  10955. </parameter>
  10956. <parameter name="marshal_data"
  10957. transfer-ownership="none"
  10958. nullable="1"
  10959. allow-none="1">
  10960. <doc xml:space="preserve">Additional data specified when registering the
  10961. marshaller, see g_closure_set_marshal() and
  10962. g_closure_set_meta_marshal()</doc>
  10963. <type name="gpointer" c:type="gpointer"/>
  10964. </parameter>
  10965. </parameters>
  10966. </function>
  10967. <function name="cclosure_marshal_VOID__FLAGS"
  10968. c:identifier="g_cclosure_marshal_VOID__FLAGS"
  10969. moved-to="CClosure.marshal_VOID__FLAGS">
  10970. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  10971. argument with a flags types.</doc>
  10972. <return-value transfer-ownership="none">
  10973. <type name="none" c:type="void"/>
  10974. </return-value>
  10975. <parameters>
  10976. <parameter name="closure" transfer-ownership="none">
  10977. <doc xml:space="preserve">A #GClosure.</doc>
  10978. <type name="Closure" c:type="GClosure*"/>
  10979. </parameter>
  10980. <parameter name="return_value" transfer-ownership="none">
  10981. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  10982. if the callback of closure doesn't return a value.</doc>
  10983. <type name="Value" c:type="GValue*"/>
  10984. </parameter>
  10985. <parameter name="n_param_values" transfer-ownership="none">
  10986. <doc xml:space="preserve">The length of the @param_values array.</doc>
  10987. <type name="guint" c:type="guint"/>
  10988. </parameter>
  10989. <parameter name="param_values" transfer-ownership="none">
  10990. <doc xml:space="preserve">An array of #GValues holding the arguments
  10991. on which to invoke the callback of closure.</doc>
  10992. <type name="Value" c:type="const GValue*"/>
  10993. </parameter>
  10994. <parameter name="invocation_hint"
  10995. transfer-ownership="none"
  10996. nullable="1"
  10997. allow-none="1">
  10998. <doc xml:space="preserve">The invocation hint given as the last argument to
  10999. g_closure_invoke().</doc>
  11000. <type name="gpointer" c:type="gpointer"/>
  11001. </parameter>
  11002. <parameter name="marshal_data"
  11003. transfer-ownership="none"
  11004. nullable="1"
  11005. allow-none="1">
  11006. <doc xml:space="preserve">Additional data specified when registering the
  11007. marshaller, see g_closure_set_marshal() and
  11008. g_closure_set_meta_marshal()</doc>
  11009. <type name="gpointer" c:type="gpointer"/>
  11010. </parameter>
  11011. </parameters>
  11012. </function>
  11013. <function name="cclosure_marshal_VOID__FLOAT"
  11014. c:identifier="g_cclosure_marshal_VOID__FLOAT"
  11015. moved-to="CClosure.marshal_VOID__FLOAT">
  11016. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with one
  11017. single-precision floating point argument.</doc>
  11018. <return-value transfer-ownership="none">
  11019. <type name="none" c:type="void"/>
  11020. </return-value>
  11021. <parameters>
  11022. <parameter name="closure" transfer-ownership="none">
  11023. <doc xml:space="preserve">A #GClosure.</doc>
  11024. <type name="Closure" c:type="GClosure*"/>
  11025. </parameter>
  11026. <parameter name="return_value" transfer-ownership="none">
  11027. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  11028. if the callback of closure doesn't return a value.</doc>
  11029. <type name="Value" c:type="GValue*"/>
  11030. </parameter>
  11031. <parameter name="n_param_values" transfer-ownership="none">
  11032. <doc xml:space="preserve">The length of the @param_values array.</doc>
  11033. <type name="guint" c:type="guint"/>
  11034. </parameter>
  11035. <parameter name="param_values" transfer-ownership="none">
  11036. <doc xml:space="preserve">An array of #GValues holding the arguments
  11037. on which to invoke the callback of closure.</doc>
  11038. <type name="Value" c:type="const GValue*"/>
  11039. </parameter>
  11040. <parameter name="invocation_hint"
  11041. transfer-ownership="none"
  11042. nullable="1"
  11043. allow-none="1">
  11044. <doc xml:space="preserve">The invocation hint given as the last argument to
  11045. g_closure_invoke().</doc>
  11046. <type name="gpointer" c:type="gpointer"/>
  11047. </parameter>
  11048. <parameter name="marshal_data"
  11049. transfer-ownership="none"
  11050. nullable="1"
  11051. allow-none="1">
  11052. <doc xml:space="preserve">Additional data specified when registering the
  11053. marshaller, see g_closure_set_marshal() and
  11054. g_closure_set_meta_marshal()</doc>
  11055. <type name="gpointer" c:type="gpointer"/>
  11056. </parameter>
  11057. </parameters>
  11058. </function>
  11059. <function name="cclosure_marshal_VOID__INT"
  11060. c:identifier="g_cclosure_marshal_VOID__INT"
  11061. moved-to="CClosure.marshal_VOID__INT">
  11062. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  11063. integer argument.</doc>
  11064. <return-value transfer-ownership="none">
  11065. <type name="none" c:type="void"/>
  11066. </return-value>
  11067. <parameters>
  11068. <parameter name="closure" transfer-ownership="none">
  11069. <doc xml:space="preserve">A #GClosure.</doc>
  11070. <type name="Closure" c:type="GClosure*"/>
  11071. </parameter>
  11072. <parameter name="return_value" transfer-ownership="none">
  11073. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  11074. if the callback of closure doesn't return a value.</doc>
  11075. <type name="Value" c:type="GValue*"/>
  11076. </parameter>
  11077. <parameter name="n_param_values" transfer-ownership="none">
  11078. <doc xml:space="preserve">The length of the @param_values array.</doc>
  11079. <type name="guint" c:type="guint"/>
  11080. </parameter>
  11081. <parameter name="param_values" transfer-ownership="none">
  11082. <doc xml:space="preserve">An array of #GValues holding the arguments
  11083. on which to invoke the callback of closure.</doc>
  11084. <type name="Value" c:type="const GValue*"/>
  11085. </parameter>
  11086. <parameter name="invocation_hint"
  11087. transfer-ownership="none"
  11088. nullable="1"
  11089. allow-none="1">
  11090. <doc xml:space="preserve">The invocation hint given as the last argument to
  11091. g_closure_invoke().</doc>
  11092. <type name="gpointer" c:type="gpointer"/>
  11093. </parameter>
  11094. <parameter name="marshal_data"
  11095. transfer-ownership="none"
  11096. nullable="1"
  11097. allow-none="1">
  11098. <doc xml:space="preserve">Additional data specified when registering the
  11099. marshaller, see g_closure_set_marshal() and
  11100. g_closure_set_meta_marshal()</doc>
  11101. <type name="gpointer" c:type="gpointer"/>
  11102. </parameter>
  11103. </parameters>
  11104. </function>
  11105. <function name="cclosure_marshal_VOID__LONG"
  11106. c:identifier="g_cclosure_marshal_VOID__LONG"
  11107. moved-to="CClosure.marshal_VOID__LONG">
  11108. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with with a single
  11109. long integer argument.</doc>
  11110. <return-value transfer-ownership="none">
  11111. <type name="none" c:type="void"/>
  11112. </return-value>
  11113. <parameters>
  11114. <parameter name="closure" transfer-ownership="none">
  11115. <doc xml:space="preserve">A #GClosure.</doc>
  11116. <type name="Closure" c:type="GClosure*"/>
  11117. </parameter>
  11118. <parameter name="return_value" transfer-ownership="none">
  11119. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  11120. if the callback of closure doesn't return a value.</doc>
  11121. <type name="Value" c:type="GValue*"/>
  11122. </parameter>
  11123. <parameter name="n_param_values" transfer-ownership="none">
  11124. <doc xml:space="preserve">The length of the @param_values array.</doc>
  11125. <type name="guint" c:type="guint"/>
  11126. </parameter>
  11127. <parameter name="param_values" transfer-ownership="none">
  11128. <doc xml:space="preserve">An array of #GValues holding the arguments
  11129. on which to invoke the callback of closure.</doc>
  11130. <type name="Value" c:type="const GValue*"/>
  11131. </parameter>
  11132. <parameter name="invocation_hint"
  11133. transfer-ownership="none"
  11134. nullable="1"
  11135. allow-none="1">
  11136. <doc xml:space="preserve">The invocation hint given as the last argument to
  11137. g_closure_invoke().</doc>
  11138. <type name="gpointer" c:type="gpointer"/>
  11139. </parameter>
  11140. <parameter name="marshal_data"
  11141. transfer-ownership="none"
  11142. nullable="1"
  11143. allow-none="1">
  11144. <doc xml:space="preserve">Additional data specified when registering the
  11145. marshaller, see g_closure_set_marshal() and
  11146. g_closure_set_meta_marshal()</doc>
  11147. <type name="gpointer" c:type="gpointer"/>
  11148. </parameter>
  11149. </parameters>
  11150. </function>
  11151. <function name="cclosure_marshal_VOID__OBJECT"
  11152. c:identifier="g_cclosure_marshal_VOID__OBJECT"
  11153. moved-to="CClosure.marshal_VOID__OBJECT">
  11154. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  11155. #GObject argument.</doc>
  11156. <return-value transfer-ownership="none">
  11157. <type name="none" c:type="void"/>
  11158. </return-value>
  11159. <parameters>
  11160. <parameter name="closure" transfer-ownership="none">
  11161. <doc xml:space="preserve">A #GClosure.</doc>
  11162. <type name="Closure" c:type="GClosure*"/>
  11163. </parameter>
  11164. <parameter name="return_value" transfer-ownership="none">
  11165. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  11166. if the callback of closure doesn't return a value.</doc>
  11167. <type name="Value" c:type="GValue*"/>
  11168. </parameter>
  11169. <parameter name="n_param_values" transfer-ownership="none">
  11170. <doc xml:space="preserve">The length of the @param_values array.</doc>
  11171. <type name="guint" c:type="guint"/>
  11172. </parameter>
  11173. <parameter name="param_values" transfer-ownership="none">
  11174. <doc xml:space="preserve">An array of #GValues holding the arguments
  11175. on which to invoke the callback of closure.</doc>
  11176. <type name="Value" c:type="const GValue*"/>
  11177. </parameter>
  11178. <parameter name="invocation_hint"
  11179. transfer-ownership="none"
  11180. nullable="1"
  11181. allow-none="1">
  11182. <doc xml:space="preserve">The invocation hint given as the last argument to
  11183. g_closure_invoke().</doc>
  11184. <type name="gpointer" c:type="gpointer"/>
  11185. </parameter>
  11186. <parameter name="marshal_data"
  11187. transfer-ownership="none"
  11188. nullable="1"
  11189. allow-none="1">
  11190. <doc xml:space="preserve">Additional data specified when registering the
  11191. marshaller, see g_closure_set_marshal() and
  11192. g_closure_set_meta_marshal()</doc>
  11193. <type name="gpointer" c:type="gpointer"/>
  11194. </parameter>
  11195. </parameters>
  11196. </function>
  11197. <function name="cclosure_marshal_VOID__PARAM"
  11198. c:identifier="g_cclosure_marshal_VOID__PARAM"
  11199. moved-to="CClosure.marshal_VOID__PARAM">
  11200. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  11201. argument of type #GParamSpec.</doc>
  11202. <return-value transfer-ownership="none">
  11203. <type name="none" c:type="void"/>
  11204. </return-value>
  11205. <parameters>
  11206. <parameter name="closure" transfer-ownership="none">
  11207. <doc xml:space="preserve">A #GClosure.</doc>
  11208. <type name="Closure" c:type="GClosure*"/>
  11209. </parameter>
  11210. <parameter name="return_value" transfer-ownership="none">
  11211. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  11212. if the callback of closure doesn't return a value.</doc>
  11213. <type name="Value" c:type="GValue*"/>
  11214. </parameter>
  11215. <parameter name="n_param_values" transfer-ownership="none">
  11216. <doc xml:space="preserve">The length of the @param_values array.</doc>
  11217. <type name="guint" c:type="guint"/>
  11218. </parameter>
  11219. <parameter name="param_values" transfer-ownership="none">
  11220. <doc xml:space="preserve">An array of #GValues holding the arguments
  11221. on which to invoke the callback of closure.</doc>
  11222. <type name="Value" c:type="const GValue*"/>
  11223. </parameter>
  11224. <parameter name="invocation_hint"
  11225. transfer-ownership="none"
  11226. nullable="1"
  11227. allow-none="1">
  11228. <doc xml:space="preserve">The invocation hint given as the last argument to
  11229. g_closure_invoke().</doc>
  11230. <type name="gpointer" c:type="gpointer"/>
  11231. </parameter>
  11232. <parameter name="marshal_data"
  11233. transfer-ownership="none"
  11234. nullable="1"
  11235. allow-none="1">
  11236. <doc xml:space="preserve">Additional data specified when registering the
  11237. marshaller, see g_closure_set_marshal() and
  11238. g_closure_set_meta_marshal()</doc>
  11239. <type name="gpointer" c:type="gpointer"/>
  11240. </parameter>
  11241. </parameters>
  11242. </function>
  11243. <function name="cclosure_marshal_VOID__POINTER"
  11244. c:identifier="g_cclosure_marshal_VOID__POINTER"
  11245. moved-to="CClosure.marshal_VOID__POINTER">
  11246. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single raw
  11247. pointer argument type.
  11248. If it is possible, it is better to use one of the more specific
  11249. functions such as g_cclosure_marshal_VOID__OBJECT() or
  11250. g_cclosure_marshal_VOID__OBJECT().</doc>
  11251. <return-value transfer-ownership="none">
  11252. <type name="none" c:type="void"/>
  11253. </return-value>
  11254. <parameters>
  11255. <parameter name="closure" transfer-ownership="none">
  11256. <doc xml:space="preserve">A #GClosure.</doc>
  11257. <type name="Closure" c:type="GClosure*"/>
  11258. </parameter>
  11259. <parameter name="return_value" transfer-ownership="none">
  11260. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  11261. if the callback of closure doesn't return a value.</doc>
  11262. <type name="Value" c:type="GValue*"/>
  11263. </parameter>
  11264. <parameter name="n_param_values" transfer-ownership="none">
  11265. <doc xml:space="preserve">The length of the @param_values array.</doc>
  11266. <type name="guint" c:type="guint"/>
  11267. </parameter>
  11268. <parameter name="param_values" transfer-ownership="none">
  11269. <doc xml:space="preserve">An array of #GValues holding the arguments
  11270. on which to invoke the callback of closure.</doc>
  11271. <type name="Value" c:type="const GValue*"/>
  11272. </parameter>
  11273. <parameter name="invocation_hint"
  11274. transfer-ownership="none"
  11275. nullable="1"
  11276. allow-none="1">
  11277. <doc xml:space="preserve">The invocation hint given as the last argument to
  11278. g_closure_invoke().</doc>
  11279. <type name="gpointer" c:type="gpointer"/>
  11280. </parameter>
  11281. <parameter name="marshal_data"
  11282. transfer-ownership="none"
  11283. nullable="1"
  11284. allow-none="1">
  11285. <doc xml:space="preserve">Additional data specified when registering the
  11286. marshaller, see g_closure_set_marshal() and
  11287. g_closure_set_meta_marshal()</doc>
  11288. <type name="gpointer" c:type="gpointer"/>
  11289. </parameter>
  11290. </parameters>
  11291. </function>
  11292. <function name="cclosure_marshal_VOID__STRING"
  11293. c:identifier="g_cclosure_marshal_VOID__STRING"
  11294. moved-to="CClosure.marshal_VOID__STRING">
  11295. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single string
  11296. argument.</doc>
  11297. <return-value transfer-ownership="none">
  11298. <type name="none" c:type="void"/>
  11299. </return-value>
  11300. <parameters>
  11301. <parameter name="closure" transfer-ownership="none">
  11302. <doc xml:space="preserve">A #GClosure.</doc>
  11303. <type name="Closure" c:type="GClosure*"/>
  11304. </parameter>
  11305. <parameter name="return_value" transfer-ownership="none">
  11306. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  11307. if the callback of closure doesn't return a value.</doc>
  11308. <type name="Value" c:type="GValue*"/>
  11309. </parameter>
  11310. <parameter name="n_param_values" transfer-ownership="none">
  11311. <doc xml:space="preserve">The length of the @param_values array.</doc>
  11312. <type name="guint" c:type="guint"/>
  11313. </parameter>
  11314. <parameter name="param_values" transfer-ownership="none">
  11315. <doc xml:space="preserve">An array of #GValues holding the arguments
  11316. on which to invoke the callback of closure.</doc>
  11317. <type name="Value" c:type="const GValue*"/>
  11318. </parameter>
  11319. <parameter name="invocation_hint"
  11320. transfer-ownership="none"
  11321. nullable="1"
  11322. allow-none="1">
  11323. <doc xml:space="preserve">The invocation hint given as the last argument to
  11324. g_closure_invoke().</doc>
  11325. <type name="gpointer" c:type="gpointer"/>
  11326. </parameter>
  11327. <parameter name="marshal_data"
  11328. transfer-ownership="none"
  11329. nullable="1"
  11330. allow-none="1">
  11331. <doc xml:space="preserve">Additional data specified when registering the
  11332. marshaller, see g_closure_set_marshal() and
  11333. g_closure_set_meta_marshal()</doc>
  11334. <type name="gpointer" c:type="gpointer"/>
  11335. </parameter>
  11336. </parameters>
  11337. </function>
  11338. <function name="cclosure_marshal_VOID__UCHAR"
  11339. c:identifier="g_cclosure_marshal_VOID__UCHAR"
  11340. moved-to="CClosure.marshal_VOID__UCHAR">
  11341. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  11342. unsigned character argument.</doc>
  11343. <return-value transfer-ownership="none">
  11344. <type name="none" c:type="void"/>
  11345. </return-value>
  11346. <parameters>
  11347. <parameter name="closure" transfer-ownership="none">
  11348. <doc xml:space="preserve">A #GClosure.</doc>
  11349. <type name="Closure" c:type="GClosure*"/>
  11350. </parameter>
  11351. <parameter name="return_value" transfer-ownership="none">
  11352. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  11353. if the callback of closure doesn't return a value.</doc>
  11354. <type name="Value" c:type="GValue*"/>
  11355. </parameter>
  11356. <parameter name="n_param_values" transfer-ownership="none">
  11357. <doc xml:space="preserve">The length of the @param_values array.</doc>
  11358. <type name="guint" c:type="guint"/>
  11359. </parameter>
  11360. <parameter name="param_values" transfer-ownership="none">
  11361. <doc xml:space="preserve">An array of #GValues holding the arguments
  11362. on which to invoke the callback of closure.</doc>
  11363. <type name="Value" c:type="const GValue*"/>
  11364. </parameter>
  11365. <parameter name="invocation_hint"
  11366. transfer-ownership="none"
  11367. nullable="1"
  11368. allow-none="1">
  11369. <doc xml:space="preserve">The invocation hint given as the last argument to
  11370. g_closure_invoke().</doc>
  11371. <type name="gpointer" c:type="gpointer"/>
  11372. </parameter>
  11373. <parameter name="marshal_data"
  11374. transfer-ownership="none"
  11375. nullable="1"
  11376. allow-none="1">
  11377. <doc xml:space="preserve">Additional data specified when registering the
  11378. marshaller, see g_closure_set_marshal() and
  11379. g_closure_set_meta_marshal()</doc>
  11380. <type name="gpointer" c:type="gpointer"/>
  11381. </parameter>
  11382. </parameters>
  11383. </function>
  11384. <function name="cclosure_marshal_VOID__UINT"
  11385. c:identifier="g_cclosure_marshal_VOID__UINT"
  11386. moved-to="CClosure.marshal_VOID__UINT">
  11387. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with with a single
  11388. unsigned integer argument.</doc>
  11389. <return-value transfer-ownership="none">
  11390. <type name="none" c:type="void"/>
  11391. </return-value>
  11392. <parameters>
  11393. <parameter name="closure" transfer-ownership="none">
  11394. <doc xml:space="preserve">A #GClosure.</doc>
  11395. <type name="Closure" c:type="GClosure*"/>
  11396. </parameter>
  11397. <parameter name="return_value" transfer-ownership="none">
  11398. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  11399. if the callback of closure doesn't return a value.</doc>
  11400. <type name="Value" c:type="GValue*"/>
  11401. </parameter>
  11402. <parameter name="n_param_values" transfer-ownership="none">
  11403. <doc xml:space="preserve">The length of the @param_values array.</doc>
  11404. <type name="guint" c:type="guint"/>
  11405. </parameter>
  11406. <parameter name="param_values" transfer-ownership="none">
  11407. <doc xml:space="preserve">An array of #GValues holding the arguments
  11408. on which to invoke the callback of closure.</doc>
  11409. <type name="Value" c:type="const GValue*"/>
  11410. </parameter>
  11411. <parameter name="invocation_hint"
  11412. transfer-ownership="none"
  11413. nullable="1"
  11414. allow-none="1">
  11415. <doc xml:space="preserve">The invocation hint given as the last argument to
  11416. g_closure_invoke().</doc>
  11417. <type name="gpointer" c:type="gpointer"/>
  11418. </parameter>
  11419. <parameter name="marshal_data"
  11420. transfer-ownership="none"
  11421. nullable="1"
  11422. allow-none="1">
  11423. <doc xml:space="preserve">Additional data specified when registering the
  11424. marshaller, see g_closure_set_marshal() and
  11425. g_closure_set_meta_marshal()</doc>
  11426. <type name="gpointer" c:type="gpointer"/>
  11427. </parameter>
  11428. </parameters>
  11429. </function>
  11430. <function name="cclosure_marshal_VOID__UINT_POINTER"
  11431. c:identifier="g_cclosure_marshal_VOID__UINT_POINTER"
  11432. moved-to="CClosure.marshal_VOID__UINT_POINTER">
  11433. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a unsigned int
  11434. and a pointer as arguments.</doc>
  11435. <return-value transfer-ownership="none">
  11436. <type name="none" c:type="void"/>
  11437. </return-value>
  11438. <parameters>
  11439. <parameter name="closure" transfer-ownership="none">
  11440. <doc xml:space="preserve">A #GClosure.</doc>
  11441. <type name="Closure" c:type="GClosure*"/>
  11442. </parameter>
  11443. <parameter name="return_value" transfer-ownership="none">
  11444. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  11445. if the callback of closure doesn't return a value.</doc>
  11446. <type name="Value" c:type="GValue*"/>
  11447. </parameter>
  11448. <parameter name="n_param_values" transfer-ownership="none">
  11449. <doc xml:space="preserve">The length of the @param_values array.</doc>
  11450. <type name="guint" c:type="guint"/>
  11451. </parameter>
  11452. <parameter name="param_values" transfer-ownership="none">
  11453. <doc xml:space="preserve">An array of #GValues holding the arguments
  11454. on which to invoke the callback of closure.</doc>
  11455. <type name="Value" c:type="const GValue*"/>
  11456. </parameter>
  11457. <parameter name="invocation_hint"
  11458. transfer-ownership="none"
  11459. nullable="1"
  11460. allow-none="1">
  11461. <doc xml:space="preserve">The invocation hint given as the last argument to
  11462. g_closure_invoke().</doc>
  11463. <type name="gpointer" c:type="gpointer"/>
  11464. </parameter>
  11465. <parameter name="marshal_data"
  11466. transfer-ownership="none"
  11467. nullable="1"
  11468. allow-none="1">
  11469. <doc xml:space="preserve">Additional data specified when registering the
  11470. marshaller, see g_closure_set_marshal() and
  11471. g_closure_set_meta_marshal()</doc>
  11472. <type name="gpointer" c:type="gpointer"/>
  11473. </parameter>
  11474. </parameters>
  11475. </function>
  11476. <function name="cclosure_marshal_VOID__ULONG"
  11477. c:identifier="g_cclosure_marshal_VOID__ULONG"
  11478. moved-to="CClosure.marshal_VOID__ULONG">
  11479. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  11480. unsigned long integer argument.</doc>
  11481. <return-value transfer-ownership="none">
  11482. <type name="none" c:type="void"/>
  11483. </return-value>
  11484. <parameters>
  11485. <parameter name="closure" transfer-ownership="none">
  11486. <doc xml:space="preserve">A #GClosure.</doc>
  11487. <type name="Closure" c:type="GClosure*"/>
  11488. </parameter>
  11489. <parameter name="return_value" transfer-ownership="none">
  11490. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  11491. if the callback of closure doesn't return a value.</doc>
  11492. <type name="Value" c:type="GValue*"/>
  11493. </parameter>
  11494. <parameter name="n_param_values" transfer-ownership="none">
  11495. <doc xml:space="preserve">The length of the @param_values array.</doc>
  11496. <type name="guint" c:type="guint"/>
  11497. </parameter>
  11498. <parameter name="param_values" transfer-ownership="none">
  11499. <doc xml:space="preserve">An array of #GValues holding the arguments
  11500. on which to invoke the callback of closure.</doc>
  11501. <type name="Value" c:type="const GValue*"/>
  11502. </parameter>
  11503. <parameter name="invocation_hint"
  11504. transfer-ownership="none"
  11505. nullable="1"
  11506. allow-none="1">
  11507. <doc xml:space="preserve">The invocation hint given as the last argument to
  11508. g_closure_invoke().</doc>
  11509. <type name="gpointer" c:type="gpointer"/>
  11510. </parameter>
  11511. <parameter name="marshal_data"
  11512. transfer-ownership="none"
  11513. nullable="1"
  11514. allow-none="1">
  11515. <doc xml:space="preserve">Additional data specified when registering the
  11516. marshaller, see g_closure_set_marshal() and
  11517. g_closure_set_meta_marshal()</doc>
  11518. <type name="gpointer" c:type="gpointer"/>
  11519. </parameter>
  11520. </parameters>
  11521. </function>
  11522. <function name="cclosure_marshal_VOID__VARIANT"
  11523. c:identifier="g_cclosure_marshal_VOID__VARIANT"
  11524. moved-to="CClosure.marshal_VOID__VARIANT">
  11525. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
  11526. #GVariant argument.</doc>
  11527. <return-value transfer-ownership="none">
  11528. <type name="none" c:type="void"/>
  11529. </return-value>
  11530. <parameters>
  11531. <parameter name="closure" transfer-ownership="none">
  11532. <doc xml:space="preserve">A #GClosure.</doc>
  11533. <type name="Closure" c:type="GClosure*"/>
  11534. </parameter>
  11535. <parameter name="return_value" transfer-ownership="none">
  11536. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  11537. if the callback of closure doesn't return a value.</doc>
  11538. <type name="Value" c:type="GValue*"/>
  11539. </parameter>
  11540. <parameter name="n_param_values" transfer-ownership="none">
  11541. <doc xml:space="preserve">The length of the @param_values array.</doc>
  11542. <type name="guint" c:type="guint"/>
  11543. </parameter>
  11544. <parameter name="param_values" transfer-ownership="none">
  11545. <doc xml:space="preserve">An array of #GValues holding the arguments
  11546. on which to invoke the callback of closure.</doc>
  11547. <type name="Value" c:type="const GValue*"/>
  11548. </parameter>
  11549. <parameter name="invocation_hint"
  11550. transfer-ownership="none"
  11551. nullable="1"
  11552. allow-none="1">
  11553. <doc xml:space="preserve">The invocation hint given as the last argument to
  11554. g_closure_invoke().</doc>
  11555. <type name="gpointer" c:type="gpointer"/>
  11556. </parameter>
  11557. <parameter name="marshal_data"
  11558. transfer-ownership="none"
  11559. nullable="1"
  11560. allow-none="1">
  11561. <doc xml:space="preserve">Additional data specified when registering the
  11562. marshaller, see g_closure_set_marshal() and
  11563. g_closure_set_meta_marshal()</doc>
  11564. <type name="gpointer" c:type="gpointer"/>
  11565. </parameter>
  11566. </parameters>
  11567. </function>
  11568. <function name="cclosure_marshal_VOID__VOID"
  11569. c:identifier="g_cclosure_marshal_VOID__VOID"
  11570. moved-to="CClosure.marshal_VOID__VOID">
  11571. <doc xml:space="preserve">A #GClosureMarshal function for use with signals with no arguments.</doc>
  11572. <return-value transfer-ownership="none">
  11573. <type name="none" c:type="void"/>
  11574. </return-value>
  11575. <parameters>
  11576. <parameter name="closure" transfer-ownership="none">
  11577. <doc xml:space="preserve">A #GClosure.</doc>
  11578. <type name="Closure" c:type="GClosure*"/>
  11579. </parameter>
  11580. <parameter name="return_value" transfer-ownership="none">
  11581. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  11582. if the callback of closure doesn't return a value.</doc>
  11583. <type name="Value" c:type="GValue*"/>
  11584. </parameter>
  11585. <parameter name="n_param_values" transfer-ownership="none">
  11586. <doc xml:space="preserve">The length of the @param_values array.</doc>
  11587. <type name="guint" c:type="guint"/>
  11588. </parameter>
  11589. <parameter name="param_values" transfer-ownership="none">
  11590. <doc xml:space="preserve">An array of #GValues holding the arguments
  11591. on which to invoke the callback of closure.</doc>
  11592. <type name="Value" c:type="const GValue*"/>
  11593. </parameter>
  11594. <parameter name="invocation_hint"
  11595. transfer-ownership="none"
  11596. nullable="1"
  11597. allow-none="1">
  11598. <doc xml:space="preserve">The invocation hint given as the last argument to
  11599. g_closure_invoke().</doc>
  11600. <type name="gpointer" c:type="gpointer"/>
  11601. </parameter>
  11602. <parameter name="marshal_data"
  11603. transfer-ownership="none"
  11604. nullable="1"
  11605. allow-none="1">
  11606. <doc xml:space="preserve">Additional data specified when registering the
  11607. marshaller, see g_closure_set_marshal() and
  11608. g_closure_set_meta_marshal()</doc>
  11609. <type name="gpointer" c:type="gpointer"/>
  11610. </parameter>
  11611. </parameters>
  11612. </function>
  11613. <function name="cclosure_marshal_generic"
  11614. c:identifier="g_cclosure_marshal_generic"
  11615. moved-to="CClosure.marshal_generic"
  11616. version="2.30">
  11617. <doc xml:space="preserve">A generic marshaller function implemented via
  11618. [libffi](http://sourceware.org/libffi/).
  11619. Normally this function is not passed explicitly to g_signal_new(),
  11620. but used automatically by GLib when specifying a %NULL marshaller.</doc>
  11621. <return-value transfer-ownership="none">
  11622. <type name="none" c:type="void"/>
  11623. </return-value>
  11624. <parameters>
  11625. <parameter name="closure" transfer-ownership="none">
  11626. <doc xml:space="preserve">A #GClosure.</doc>
  11627. <type name="Closure" c:type="GClosure*"/>
  11628. </parameter>
  11629. <parameter name="return_gvalue" transfer-ownership="none">
  11630. <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
  11631. if the callback of closure doesn't return a value.</doc>
  11632. <type name="Value" c:type="GValue*"/>
  11633. </parameter>
  11634. <parameter name="n_param_values" transfer-ownership="none">
  11635. <doc xml:space="preserve">The length of the @param_values array.</doc>
  11636. <type name="guint" c:type="guint"/>
  11637. </parameter>
  11638. <parameter name="param_values" transfer-ownership="none">
  11639. <doc xml:space="preserve">An array of #GValues holding the arguments
  11640. on which to invoke the callback of closure.</doc>
  11641. <type name="Value" c:type="const GValue*"/>
  11642. </parameter>
  11643. <parameter name="invocation_hint"
  11644. transfer-ownership="none"
  11645. nullable="1"
  11646. allow-none="1">
  11647. <doc xml:space="preserve">The invocation hint given as the last argument to
  11648. g_closure_invoke().</doc>
  11649. <type name="gpointer" c:type="gpointer"/>
  11650. </parameter>
  11651. <parameter name="marshal_data"
  11652. transfer-ownership="none"
  11653. nullable="1"
  11654. allow-none="1">
  11655. <doc xml:space="preserve">Additional data specified when registering the
  11656. marshaller, see g_closure_set_marshal() and
  11657. g_closure_set_meta_marshal()</doc>
  11658. <type name="gpointer" c:type="gpointer"/>
  11659. </parameter>
  11660. </parameters>
  11661. </function>
  11662. <function name="cclosure_new"
  11663. c:identifier="g_cclosure_new"
  11664. moved-to="CClosure.new"
  11665. introspectable="0">
  11666. <doc xml:space="preserve">Creates a new closure which invokes @callback_func with @user_data as
  11667. the last parameter.</doc>
  11668. <return-value transfer-ownership="full">
  11669. <doc xml:space="preserve">a new #GCClosure</doc>
  11670. <type name="Closure" c:type="GClosure*"/>
  11671. </return-value>
  11672. <parameters>
  11673. <parameter name="callback_func"
  11674. transfer-ownership="none"
  11675. nullable="1"
  11676. allow-none="1"
  11677. closure="1">
  11678. <doc xml:space="preserve">the function to invoke</doc>
  11679. <type name="Callback" c:type="GCallback"/>
  11680. </parameter>
  11681. <parameter name="user_data"
  11682. transfer-ownership="none"
  11683. nullable="1"
  11684. allow-none="1"
  11685. closure="0">
  11686. <doc xml:space="preserve">user data to pass to @callback_func</doc>
  11687. <type name="gpointer" c:type="gpointer"/>
  11688. </parameter>
  11689. <parameter name="destroy_data" transfer-ownership="none">
  11690. <doc xml:space="preserve">destroy notify to be called when @user_data is no longer used</doc>
  11691. <type name="ClosureNotify" c:type="GClosureNotify"/>
  11692. </parameter>
  11693. </parameters>
  11694. </function>
  11695. <function name="cclosure_new_object"
  11696. c:identifier="g_cclosure_new_object"
  11697. moved-to="CClosure.new_object"
  11698. introspectable="0">
  11699. <doc xml:space="preserve">A variant of g_cclosure_new() which uses @object as @user_data and
  11700. calls g_object_watch_closure() on @object and the created
  11701. closure. This function is useful when you have a callback closely
  11702. associated with a #GObject, and want the callback to no longer run
  11703. after the object is is freed.</doc>
  11704. <return-value transfer-ownership="full">
  11705. <doc xml:space="preserve">a new #GCClosure</doc>
  11706. <type name="Closure" c:type="GClosure*"/>
  11707. </return-value>
  11708. <parameters>
  11709. <parameter name="callback_func" transfer-ownership="none">
  11710. <doc xml:space="preserve">the function to invoke</doc>
  11711. <type name="Callback" c:type="GCallback"/>
  11712. </parameter>
  11713. <parameter name="object" transfer-ownership="none">
  11714. <doc xml:space="preserve">a #GObject pointer to pass to @callback_func</doc>
  11715. <type name="Object" c:type="GObject*"/>
  11716. </parameter>
  11717. </parameters>
  11718. </function>
  11719. <function name="cclosure_new_object_swap"
  11720. c:identifier="g_cclosure_new_object_swap"
  11721. moved-to="CClosure.new_object_swap"
  11722. introspectable="0">
  11723. <doc xml:space="preserve">A variant of g_cclosure_new_swap() which uses @object as @user_data
  11724. and calls g_object_watch_closure() on @object and the created
  11725. closure. This function is useful when you have a callback closely
  11726. associated with a #GObject, and want the callback to no longer run
  11727. after the object is is freed.</doc>
  11728. <return-value transfer-ownership="full">
  11729. <doc xml:space="preserve">a new #GCClosure</doc>
  11730. <type name="Closure" c:type="GClosure*"/>
  11731. </return-value>
  11732. <parameters>
  11733. <parameter name="callback_func" transfer-ownership="none">
  11734. <doc xml:space="preserve">the function to invoke</doc>
  11735. <type name="Callback" c:type="GCallback"/>
  11736. </parameter>
  11737. <parameter name="object" transfer-ownership="none">
  11738. <doc xml:space="preserve">a #GObject pointer to pass to @callback_func</doc>
  11739. <type name="Object" c:type="GObject*"/>
  11740. </parameter>
  11741. </parameters>
  11742. </function>
  11743. <function name="cclosure_new_swap"
  11744. c:identifier="g_cclosure_new_swap"
  11745. moved-to="CClosure.new_swap"
  11746. introspectable="0">
  11747. <doc xml:space="preserve">Creates a new closure which invokes @callback_func with @user_data as
  11748. the first parameter.</doc>
  11749. <return-value transfer-ownership="full">
  11750. <doc xml:space="preserve">a new #GCClosure</doc>
  11751. <type name="Closure" c:type="GClosure*"/>
  11752. </return-value>
  11753. <parameters>
  11754. <parameter name="callback_func"
  11755. transfer-ownership="none"
  11756. nullable="1"
  11757. allow-none="1"
  11758. closure="1">
  11759. <doc xml:space="preserve">the function to invoke</doc>
  11760. <type name="Callback" c:type="GCallback"/>
  11761. </parameter>
  11762. <parameter name="user_data"
  11763. transfer-ownership="none"
  11764. nullable="1"
  11765. allow-none="1"
  11766. closure="0">
  11767. <doc xml:space="preserve">user data to pass to @callback_func</doc>
  11768. <type name="gpointer" c:type="gpointer"/>
  11769. </parameter>
  11770. <parameter name="destroy_data" transfer-ownership="none">
  11771. <doc xml:space="preserve">destroy notify to be called when @user_data is no longer used</doc>
  11772. <type name="ClosureNotify" c:type="GClosureNotify"/>
  11773. </parameter>
  11774. </parameters>
  11775. </function>
  11776. <function name="clear_object"
  11777. c:identifier="g_clear_object"
  11778. version="2.28"
  11779. introspectable="0">
  11780. <doc xml:space="preserve">Clears a reference to a #GObject.
  11781. @object_ptr must not be %NULL.
  11782. If the reference is %NULL then this function does nothing.
  11783. Otherwise, the reference count of the object is decreased and the
  11784. pointer is set to %NULL.
  11785. A macro is also included that allows this function to be used without
  11786. pointer casts.</doc>
  11787. <return-value transfer-ownership="none">
  11788. <type name="none" c:type="void"/>
  11789. </return-value>
  11790. <parameters>
  11791. <parameter name="object_ptr" transfer-ownership="none">
  11792. <doc xml:space="preserve">a pointer to a #GObject reference</doc>
  11793. <type name="Object" c:type="volatile GObject**"/>
  11794. </parameter>
  11795. </parameters>
  11796. </function>
  11797. <function name="enum_complete_type_info"
  11798. c:identifier="g_enum_complete_type_info">
  11799. <doc xml:space="preserve">This function is meant to be called from the `complete_type_info`
  11800. function of a #GTypePlugin implementation, as in the following
  11801. example:
  11802. |[&lt;!-- language="C" --&gt;
  11803. static void
  11804. my_enum_complete_type_info (GTypePlugin *plugin,
  11805. GType g_type,
  11806. GTypeInfo *info,
  11807. GTypeValueTable *value_table)
  11808. {
  11809. static const GEnumValue values[] = {
  11810. { MY_ENUM_FOO, "MY_ENUM_FOO", "foo" },
  11811. { MY_ENUM_BAR, "MY_ENUM_BAR", "bar" },
  11812. { 0, NULL, NULL }
  11813. };
  11814. g_enum_complete_type_info (type, info, values);
  11815. }
  11816. ]|</doc>
  11817. <return-value transfer-ownership="none">
  11818. <type name="none" c:type="void"/>
  11819. </return-value>
  11820. <parameters>
  11821. <parameter name="g_enum_type" transfer-ownership="none">
  11822. <doc xml:space="preserve">the type identifier of the type being completed</doc>
  11823. <type name="GType" c:type="GType"/>
  11824. </parameter>
  11825. <parameter name="info"
  11826. direction="out"
  11827. caller-allocates="0"
  11828. transfer-ownership="full">
  11829. <doc xml:space="preserve">the #GTypeInfo struct to be filled in</doc>
  11830. <type name="TypeInfo" c:type="GTypeInfo*"/>
  11831. </parameter>
  11832. <parameter name="const_values" transfer-ownership="none">
  11833. <doc xml:space="preserve">An array of #GEnumValue structs for the possible
  11834. enumeration values. The array is terminated by a struct with all
  11835. members being 0.</doc>
  11836. <type name="EnumValue" c:type="const GEnumValue*"/>
  11837. </parameter>
  11838. </parameters>
  11839. </function>
  11840. <function name="enum_get_value" c:identifier="g_enum_get_value">
  11841. <doc xml:space="preserve">Returns the #GEnumValue for a value.</doc>
  11842. <return-value transfer-ownership="none">
  11843. <doc xml:space="preserve">the #GEnumValue for @value, or %NULL
  11844. if @value is not a member of the enumeration</doc>
  11845. <type name="EnumValue" c:type="GEnumValue*"/>
  11846. </return-value>
  11847. <parameters>
  11848. <parameter name="enum_class" transfer-ownership="none">
  11849. <doc xml:space="preserve">a #GEnumClass</doc>
  11850. <type name="EnumClass" c:type="GEnumClass*"/>
  11851. </parameter>
  11852. <parameter name="value" transfer-ownership="none">
  11853. <doc xml:space="preserve">the value to look up</doc>
  11854. <type name="gint" c:type="gint"/>
  11855. </parameter>
  11856. </parameters>
  11857. </function>
  11858. <function name="enum_get_value_by_name"
  11859. c:identifier="g_enum_get_value_by_name">
  11860. <doc xml:space="preserve">Looks up a #GEnumValue by name.</doc>
  11861. <return-value transfer-ownership="none">
  11862. <doc xml:space="preserve">the #GEnumValue with name @name,
  11863. or %NULL if the enumeration doesn't have a member
  11864. with that name</doc>
  11865. <type name="EnumValue" c:type="GEnumValue*"/>
  11866. </return-value>
  11867. <parameters>
  11868. <parameter name="enum_class" transfer-ownership="none">
  11869. <doc xml:space="preserve">a #GEnumClass</doc>
  11870. <type name="EnumClass" c:type="GEnumClass*"/>
  11871. </parameter>
  11872. <parameter name="name" transfer-ownership="none">
  11873. <doc xml:space="preserve">the name to look up</doc>
  11874. <type name="utf8" c:type="const gchar*"/>
  11875. </parameter>
  11876. </parameters>
  11877. </function>
  11878. <function name="enum_get_value_by_nick"
  11879. c:identifier="g_enum_get_value_by_nick">
  11880. <doc xml:space="preserve">Looks up a #GEnumValue by nickname.</doc>
  11881. <return-value transfer-ownership="none">
  11882. <doc xml:space="preserve">the #GEnumValue with nickname @nick,
  11883. or %NULL if the enumeration doesn't have a member
  11884. with that nickname</doc>
  11885. <type name="EnumValue" c:type="GEnumValue*"/>
  11886. </return-value>
  11887. <parameters>
  11888. <parameter name="enum_class" transfer-ownership="none">
  11889. <doc xml:space="preserve">a #GEnumClass</doc>
  11890. <type name="EnumClass" c:type="GEnumClass*"/>
  11891. </parameter>
  11892. <parameter name="nick" transfer-ownership="none">
  11893. <doc xml:space="preserve">the nickname to look up</doc>
  11894. <type name="utf8" c:type="const gchar*"/>
  11895. </parameter>
  11896. </parameters>
  11897. </function>
  11898. <function name="enum_register_static"
  11899. c:identifier="g_enum_register_static">
  11900. <doc xml:space="preserve">Registers a new static enumeration type with the name @name.
  11901. It is normally more convenient to let [glib-mkenums][glib-mkenums],
  11902. generate a my_enum_get_type() function from a usual C enumeration
  11903. definition than to write one yourself using g_enum_register_static().</doc>
  11904. <return-value transfer-ownership="none">
  11905. <doc xml:space="preserve">The new type identifier.</doc>
  11906. <type name="GType" c:type="GType"/>
  11907. </return-value>
  11908. <parameters>
  11909. <parameter name="name" transfer-ownership="none">
  11910. <doc xml:space="preserve">A nul-terminated string used as the name of the new type.</doc>
  11911. <type name="utf8" c:type="const gchar*"/>
  11912. </parameter>
  11913. <parameter name="const_static_values" transfer-ownership="none">
  11914. <doc xml:space="preserve">An array of #GEnumValue structs for the possible
  11915. enumeration values. The array is terminated by a struct with all
  11916. members being 0. GObject keeps a reference to the data, so it cannot
  11917. be stack-allocated.</doc>
  11918. <type name="EnumValue" c:type="const GEnumValue*"/>
  11919. </parameter>
  11920. </parameters>
  11921. </function>
  11922. <function name="flags_complete_type_info"
  11923. c:identifier="g_flags_complete_type_info">
  11924. <doc xml:space="preserve">This function is meant to be called from the complete_type_info()
  11925. function of a #GTypePlugin implementation, see the example for
  11926. g_enum_complete_type_info() above.</doc>
  11927. <return-value transfer-ownership="none">
  11928. <type name="none" c:type="void"/>
  11929. </return-value>
  11930. <parameters>
  11931. <parameter name="g_flags_type" transfer-ownership="none">
  11932. <doc xml:space="preserve">the type identifier of the type being completed</doc>
  11933. <type name="GType" c:type="GType"/>
  11934. </parameter>
  11935. <parameter name="info"
  11936. direction="out"
  11937. caller-allocates="0"
  11938. transfer-ownership="full">
  11939. <doc xml:space="preserve">the #GTypeInfo struct to be filled in</doc>
  11940. <type name="TypeInfo" c:type="GTypeInfo*"/>
  11941. </parameter>
  11942. <parameter name="const_values" transfer-ownership="none">
  11943. <doc xml:space="preserve">An array of #GFlagsValue structs for the possible
  11944. enumeration values. The array is terminated by a struct with all
  11945. members being 0.</doc>
  11946. <type name="FlagsValue" c:type="const GFlagsValue*"/>
  11947. </parameter>
  11948. </parameters>
  11949. </function>
  11950. <function name="flags_get_first_value"
  11951. c:identifier="g_flags_get_first_value">
  11952. <doc xml:space="preserve">Returns the first #GFlagsValue which is set in @value.</doc>
  11953. <return-value transfer-ownership="none">
  11954. <doc xml:space="preserve">the first #GFlagsValue which is set in
  11955. @value, or %NULL if none is set</doc>
  11956. <type name="FlagsValue" c:type="GFlagsValue*"/>
  11957. </return-value>
  11958. <parameters>
  11959. <parameter name="flags_class" transfer-ownership="none">
  11960. <doc xml:space="preserve">a #GFlagsClass</doc>
  11961. <type name="FlagsClass" c:type="GFlagsClass*"/>
  11962. </parameter>
  11963. <parameter name="value" transfer-ownership="none">
  11964. <doc xml:space="preserve">the value</doc>
  11965. <type name="guint" c:type="guint"/>
  11966. </parameter>
  11967. </parameters>
  11968. </function>
  11969. <function name="flags_get_value_by_name"
  11970. c:identifier="g_flags_get_value_by_name">
  11971. <doc xml:space="preserve">Looks up a #GFlagsValue by name.</doc>
  11972. <return-value transfer-ownership="none">
  11973. <doc xml:space="preserve">the #GFlagsValue with name @name,
  11974. or %NULL if there is no flag with that name</doc>
  11975. <type name="FlagsValue" c:type="GFlagsValue*"/>
  11976. </return-value>
  11977. <parameters>
  11978. <parameter name="flags_class" transfer-ownership="none">
  11979. <doc xml:space="preserve">a #GFlagsClass</doc>
  11980. <type name="FlagsClass" c:type="GFlagsClass*"/>
  11981. </parameter>
  11982. <parameter name="name" transfer-ownership="none">
  11983. <doc xml:space="preserve">the name to look up</doc>
  11984. <type name="utf8" c:type="const gchar*"/>
  11985. </parameter>
  11986. </parameters>
  11987. </function>
  11988. <function name="flags_get_value_by_nick"
  11989. c:identifier="g_flags_get_value_by_nick">
  11990. <doc xml:space="preserve">Looks up a #GFlagsValue by nickname.</doc>
  11991. <return-value transfer-ownership="none">
  11992. <doc xml:space="preserve">the #GFlagsValue with nickname @nick,
  11993. or %NULL if there is no flag with that nickname</doc>
  11994. <type name="FlagsValue" c:type="GFlagsValue*"/>
  11995. </return-value>
  11996. <parameters>
  11997. <parameter name="flags_class" transfer-ownership="none">
  11998. <doc xml:space="preserve">a #GFlagsClass</doc>
  11999. <type name="FlagsClass" c:type="GFlagsClass*"/>
  12000. </parameter>
  12001. <parameter name="nick" transfer-ownership="none">
  12002. <doc xml:space="preserve">the nickname to look up</doc>
  12003. <type name="utf8" c:type="const gchar*"/>
  12004. </parameter>
  12005. </parameters>
  12006. </function>
  12007. <function name="flags_register_static"
  12008. c:identifier="g_flags_register_static">
  12009. <doc xml:space="preserve">Registers a new static flags type with the name @name.
  12010. It is normally more convenient to let [glib-mkenums][glib-mkenums]
  12011. generate a my_flags_get_type() function from a usual C enumeration
  12012. definition than to write one yourself using g_flags_register_static().</doc>
  12013. <return-value transfer-ownership="none">
  12014. <doc xml:space="preserve">The new type identifier.</doc>
  12015. <type name="GType" c:type="GType"/>
  12016. </return-value>
  12017. <parameters>
  12018. <parameter name="name" transfer-ownership="none">
  12019. <doc xml:space="preserve">A nul-terminated string used as the name of the new type.</doc>
  12020. <type name="utf8" c:type="const gchar*"/>
  12021. </parameter>
  12022. <parameter name="const_static_values" transfer-ownership="none">
  12023. <doc xml:space="preserve">An array of #GFlagsValue structs for the possible
  12024. flags values. The array is terminated by a struct with all members being 0.
  12025. GObject keeps a reference to the data, so it cannot be stack-allocated.</doc>
  12026. <type name="FlagsValue" c:type="const GFlagsValue*"/>
  12027. </parameter>
  12028. </parameters>
  12029. </function>
  12030. <function name="gtype_get_type" c:identifier="g_gtype_get_type">
  12031. <return-value transfer-ownership="none">
  12032. <type name="GType" c:type="GType"/>
  12033. </return-value>
  12034. </function>
  12035. <function name="param_spec_boolean" c:identifier="g_param_spec_boolean">
  12036. <doc xml:space="preserve">Creates a new #GParamSpecBoolean instance specifying a %G_TYPE_BOOLEAN
  12037. property. In many cases, it may be more appropriate to use an enum with
  12038. g_param_spec_enum(), both to improve code clarity by using explicitly named
  12039. values, and to allow for more values to be added in future without breaking
  12040. API.
  12041. See g_param_spec_internal() for details on property names.</doc>
  12042. <return-value transfer-ownership="full">
  12043. <doc xml:space="preserve">a newly created parameter specification</doc>
  12044. <type name="ParamSpec" c:type="GParamSpec*"/>
  12045. </return-value>
  12046. <parameters>
  12047. <parameter name="name" transfer-ownership="none">
  12048. <doc xml:space="preserve">canonical name of the property specified</doc>
  12049. <type name="utf8" c:type="const gchar*"/>
  12050. </parameter>
  12051. <parameter name="nick" transfer-ownership="none">
  12052. <doc xml:space="preserve">nick name for the property specified</doc>
  12053. <type name="utf8" c:type="const gchar*"/>
  12054. </parameter>
  12055. <parameter name="blurb" transfer-ownership="none">
  12056. <doc xml:space="preserve">description of the property specified</doc>
  12057. <type name="utf8" c:type="const gchar*"/>
  12058. </parameter>
  12059. <parameter name="default_value" transfer-ownership="none">
  12060. <doc xml:space="preserve">default value for the property specified</doc>
  12061. <type name="gboolean" c:type="gboolean"/>
  12062. </parameter>
  12063. <parameter name="flags" transfer-ownership="none">
  12064. <doc xml:space="preserve">flags for the property specified</doc>
  12065. <type name="ParamFlags" c:type="GParamFlags"/>
  12066. </parameter>
  12067. </parameters>
  12068. </function>
  12069. <function name="param_spec_boxed" c:identifier="g_param_spec_boxed">
  12070. <doc xml:space="preserve">Creates a new #GParamSpecBoxed instance specifying a %G_TYPE_BOXED
  12071. derived property.
  12072. See g_param_spec_internal() for details on property names.</doc>
  12073. <return-value transfer-ownership="full">
  12074. <doc xml:space="preserve">a newly created parameter specification</doc>
  12075. <type name="ParamSpec" c:type="GParamSpec*"/>
  12076. </return-value>
  12077. <parameters>
  12078. <parameter name="name" transfer-ownership="none">
  12079. <doc xml:space="preserve">canonical name of the property specified</doc>
  12080. <type name="utf8" c:type="const gchar*"/>
  12081. </parameter>
  12082. <parameter name="nick" transfer-ownership="none">
  12083. <doc xml:space="preserve">nick name for the property specified</doc>
  12084. <type name="utf8" c:type="const gchar*"/>
  12085. </parameter>
  12086. <parameter name="blurb" transfer-ownership="none">
  12087. <doc xml:space="preserve">description of the property specified</doc>
  12088. <type name="utf8" c:type="const gchar*"/>
  12089. </parameter>
  12090. <parameter name="boxed_type" transfer-ownership="none">
  12091. <doc xml:space="preserve">%G_TYPE_BOXED derived type of this property</doc>
  12092. <type name="GType" c:type="GType"/>
  12093. </parameter>
  12094. <parameter name="flags" transfer-ownership="none">
  12095. <doc xml:space="preserve">flags for the property specified</doc>
  12096. <type name="ParamFlags" c:type="GParamFlags"/>
  12097. </parameter>
  12098. </parameters>
  12099. </function>
  12100. <function name="param_spec_char" c:identifier="g_param_spec_char">
  12101. <doc xml:space="preserve">Creates a new #GParamSpecChar instance specifying a %G_TYPE_CHAR property.</doc>
  12102. <return-value transfer-ownership="full">
  12103. <doc xml:space="preserve">a newly created parameter specification</doc>
  12104. <type name="ParamSpec" c:type="GParamSpec*"/>
  12105. </return-value>
  12106. <parameters>
  12107. <parameter name="name" transfer-ownership="none">
  12108. <doc xml:space="preserve">canonical name of the property specified</doc>
  12109. <type name="utf8" c:type="const gchar*"/>
  12110. </parameter>
  12111. <parameter name="nick" transfer-ownership="none">
  12112. <doc xml:space="preserve">nick name for the property specified</doc>
  12113. <type name="utf8" c:type="const gchar*"/>
  12114. </parameter>
  12115. <parameter name="blurb" transfer-ownership="none">
  12116. <doc xml:space="preserve">description of the property specified</doc>
  12117. <type name="utf8" c:type="const gchar*"/>
  12118. </parameter>
  12119. <parameter name="minimum" transfer-ownership="none">
  12120. <doc xml:space="preserve">minimum value for the property specified</doc>
  12121. <type name="gint8" c:type="gint8"/>
  12122. </parameter>
  12123. <parameter name="maximum" transfer-ownership="none">
  12124. <doc xml:space="preserve">maximum value for the property specified</doc>
  12125. <type name="gint8" c:type="gint8"/>
  12126. </parameter>
  12127. <parameter name="default_value" transfer-ownership="none">
  12128. <doc xml:space="preserve">default value for the property specified</doc>
  12129. <type name="gint8" c:type="gint8"/>
  12130. </parameter>
  12131. <parameter name="flags" transfer-ownership="none">
  12132. <doc xml:space="preserve">flags for the property specified</doc>
  12133. <type name="ParamFlags" c:type="GParamFlags"/>
  12134. </parameter>
  12135. </parameters>
  12136. </function>
  12137. <function name="param_spec_double" c:identifier="g_param_spec_double">
  12138. <doc xml:space="preserve">Creates a new #GParamSpecDouble instance specifying a %G_TYPE_DOUBLE
  12139. property.
  12140. See g_param_spec_internal() for details on property names.</doc>
  12141. <return-value transfer-ownership="full">
  12142. <doc xml:space="preserve">a newly created parameter specification</doc>
  12143. <type name="ParamSpec" c:type="GParamSpec*"/>
  12144. </return-value>
  12145. <parameters>
  12146. <parameter name="name" transfer-ownership="none">
  12147. <doc xml:space="preserve">canonical name of the property specified</doc>
  12148. <type name="utf8" c:type="const gchar*"/>
  12149. </parameter>
  12150. <parameter name="nick" transfer-ownership="none">
  12151. <doc xml:space="preserve">nick name for the property specified</doc>
  12152. <type name="utf8" c:type="const gchar*"/>
  12153. </parameter>
  12154. <parameter name="blurb" transfer-ownership="none">
  12155. <doc xml:space="preserve">description of the property specified</doc>
  12156. <type name="utf8" c:type="const gchar*"/>
  12157. </parameter>
  12158. <parameter name="minimum" transfer-ownership="none">
  12159. <doc xml:space="preserve">minimum value for the property specified</doc>
  12160. <type name="gdouble" c:type="gdouble"/>
  12161. </parameter>
  12162. <parameter name="maximum" transfer-ownership="none">
  12163. <doc xml:space="preserve">maximum value for the property specified</doc>
  12164. <type name="gdouble" c:type="gdouble"/>
  12165. </parameter>
  12166. <parameter name="default_value" transfer-ownership="none">
  12167. <doc xml:space="preserve">default value for the property specified</doc>
  12168. <type name="gdouble" c:type="gdouble"/>
  12169. </parameter>
  12170. <parameter name="flags" transfer-ownership="none">
  12171. <doc xml:space="preserve">flags for the property specified</doc>
  12172. <type name="ParamFlags" c:type="GParamFlags"/>
  12173. </parameter>
  12174. </parameters>
  12175. </function>
  12176. <function name="param_spec_enum" c:identifier="g_param_spec_enum">
  12177. <doc xml:space="preserve">Creates a new #GParamSpecEnum instance specifying a %G_TYPE_ENUM
  12178. property.
  12179. See g_param_spec_internal() for details on property names.</doc>
  12180. <return-value transfer-ownership="full">
  12181. <doc xml:space="preserve">a newly created parameter specification</doc>
  12182. <type name="ParamSpec" c:type="GParamSpec*"/>
  12183. </return-value>
  12184. <parameters>
  12185. <parameter name="name" transfer-ownership="none">
  12186. <doc xml:space="preserve">canonical name of the property specified</doc>
  12187. <type name="utf8" c:type="const gchar*"/>
  12188. </parameter>
  12189. <parameter name="nick" transfer-ownership="none">
  12190. <doc xml:space="preserve">nick name for the property specified</doc>
  12191. <type name="utf8" c:type="const gchar*"/>
  12192. </parameter>
  12193. <parameter name="blurb" transfer-ownership="none">
  12194. <doc xml:space="preserve">description of the property specified</doc>
  12195. <type name="utf8" c:type="const gchar*"/>
  12196. </parameter>
  12197. <parameter name="enum_type" transfer-ownership="none">
  12198. <doc xml:space="preserve">a #GType derived from %G_TYPE_ENUM</doc>
  12199. <type name="GType" c:type="GType"/>
  12200. </parameter>
  12201. <parameter name="default_value" transfer-ownership="none">
  12202. <doc xml:space="preserve">default value for the property specified</doc>
  12203. <type name="gint" c:type="gint"/>
  12204. </parameter>
  12205. <parameter name="flags" transfer-ownership="none">
  12206. <doc xml:space="preserve">flags for the property specified</doc>
  12207. <type name="ParamFlags" c:type="GParamFlags"/>
  12208. </parameter>
  12209. </parameters>
  12210. </function>
  12211. <function name="param_spec_flags" c:identifier="g_param_spec_flags">
  12212. <doc xml:space="preserve">Creates a new #GParamSpecFlags instance specifying a %G_TYPE_FLAGS
  12213. property.
  12214. See g_param_spec_internal() for details on property names.</doc>
  12215. <return-value transfer-ownership="full">
  12216. <doc xml:space="preserve">a newly created parameter specification</doc>
  12217. <type name="ParamSpec" c:type="GParamSpec*"/>
  12218. </return-value>
  12219. <parameters>
  12220. <parameter name="name" transfer-ownership="none">
  12221. <doc xml:space="preserve">canonical name of the property specified</doc>
  12222. <type name="utf8" c:type="const gchar*"/>
  12223. </parameter>
  12224. <parameter name="nick" transfer-ownership="none">
  12225. <doc xml:space="preserve">nick name for the property specified</doc>
  12226. <type name="utf8" c:type="const gchar*"/>
  12227. </parameter>
  12228. <parameter name="blurb" transfer-ownership="none">
  12229. <doc xml:space="preserve">description of the property specified</doc>
  12230. <type name="utf8" c:type="const gchar*"/>
  12231. </parameter>
  12232. <parameter name="flags_type" transfer-ownership="none">
  12233. <doc xml:space="preserve">a #GType derived from %G_TYPE_FLAGS</doc>
  12234. <type name="GType" c:type="GType"/>
  12235. </parameter>
  12236. <parameter name="default_value" transfer-ownership="none">
  12237. <doc xml:space="preserve">default value for the property specified</doc>
  12238. <type name="guint" c:type="guint"/>
  12239. </parameter>
  12240. <parameter name="flags" transfer-ownership="none">
  12241. <doc xml:space="preserve">flags for the property specified</doc>
  12242. <type name="ParamFlags" c:type="GParamFlags"/>
  12243. </parameter>
  12244. </parameters>
  12245. </function>
  12246. <function name="param_spec_float" c:identifier="g_param_spec_float">
  12247. <doc xml:space="preserve">Creates a new #GParamSpecFloat instance specifying a %G_TYPE_FLOAT property.
  12248. See g_param_spec_internal() for details on property names.</doc>
  12249. <return-value transfer-ownership="full">
  12250. <doc xml:space="preserve">a newly created parameter specification</doc>
  12251. <type name="ParamSpec" c:type="GParamSpec*"/>
  12252. </return-value>
  12253. <parameters>
  12254. <parameter name="name" transfer-ownership="none">
  12255. <doc xml:space="preserve">canonical name of the property specified</doc>
  12256. <type name="utf8" c:type="const gchar*"/>
  12257. </parameter>
  12258. <parameter name="nick" transfer-ownership="none">
  12259. <doc xml:space="preserve">nick name for the property specified</doc>
  12260. <type name="utf8" c:type="const gchar*"/>
  12261. </parameter>
  12262. <parameter name="blurb" transfer-ownership="none">
  12263. <doc xml:space="preserve">description of the property specified</doc>
  12264. <type name="utf8" c:type="const gchar*"/>
  12265. </parameter>
  12266. <parameter name="minimum" transfer-ownership="none">
  12267. <doc xml:space="preserve">minimum value for the property specified</doc>
  12268. <type name="gfloat" c:type="gfloat"/>
  12269. </parameter>
  12270. <parameter name="maximum" transfer-ownership="none">
  12271. <doc xml:space="preserve">maximum value for the property specified</doc>
  12272. <type name="gfloat" c:type="gfloat"/>
  12273. </parameter>
  12274. <parameter name="default_value" transfer-ownership="none">
  12275. <doc xml:space="preserve">default value for the property specified</doc>
  12276. <type name="gfloat" c:type="gfloat"/>
  12277. </parameter>
  12278. <parameter name="flags" transfer-ownership="none">
  12279. <doc xml:space="preserve">flags for the property specified</doc>
  12280. <type name="ParamFlags" c:type="GParamFlags"/>
  12281. </parameter>
  12282. </parameters>
  12283. </function>
  12284. <function name="param_spec_gtype"
  12285. c:identifier="g_param_spec_gtype"
  12286. version="2.10">
  12287. <doc xml:space="preserve">Creates a new #GParamSpecGType instance specifying a
  12288. %G_TYPE_GTYPE property.
  12289. See g_param_spec_internal() for details on property names.</doc>
  12290. <return-value transfer-ownership="full">
  12291. <doc xml:space="preserve">a newly created parameter specification</doc>
  12292. <type name="ParamSpec" c:type="GParamSpec*"/>
  12293. </return-value>
  12294. <parameters>
  12295. <parameter name="name" transfer-ownership="none">
  12296. <doc xml:space="preserve">canonical name of the property specified</doc>
  12297. <type name="utf8" c:type="const gchar*"/>
  12298. </parameter>
  12299. <parameter name="nick" transfer-ownership="none">
  12300. <doc xml:space="preserve">nick name for the property specified</doc>
  12301. <type name="utf8" c:type="const gchar*"/>
  12302. </parameter>
  12303. <parameter name="blurb" transfer-ownership="none">
  12304. <doc xml:space="preserve">description of the property specified</doc>
  12305. <type name="utf8" c:type="const gchar*"/>
  12306. </parameter>
  12307. <parameter name="is_a_type" transfer-ownership="none">
  12308. <doc xml:space="preserve">a #GType whose subtypes are allowed as values
  12309. of the property (use %G_TYPE_NONE for any type)</doc>
  12310. <type name="GType" c:type="GType"/>
  12311. </parameter>
  12312. <parameter name="flags" transfer-ownership="none">
  12313. <doc xml:space="preserve">flags for the property specified</doc>
  12314. <type name="ParamFlags" c:type="GParamFlags"/>
  12315. </parameter>
  12316. </parameters>
  12317. </function>
  12318. <function name="param_spec_int" c:identifier="g_param_spec_int">
  12319. <doc xml:space="preserve">Creates a new #GParamSpecInt instance specifying a %G_TYPE_INT property.
  12320. See g_param_spec_internal() for details on property names.</doc>
  12321. <return-value transfer-ownership="full">
  12322. <doc xml:space="preserve">a newly created parameter specification</doc>
  12323. <type name="ParamSpec" c:type="GParamSpec*"/>
  12324. </return-value>
  12325. <parameters>
  12326. <parameter name="name" transfer-ownership="none">
  12327. <doc xml:space="preserve">canonical name of the property specified</doc>
  12328. <type name="utf8" c:type="const gchar*"/>
  12329. </parameter>
  12330. <parameter name="nick" transfer-ownership="none">
  12331. <doc xml:space="preserve">nick name for the property specified</doc>
  12332. <type name="utf8" c:type="const gchar*"/>
  12333. </parameter>
  12334. <parameter name="blurb" transfer-ownership="none">
  12335. <doc xml:space="preserve">description of the property specified</doc>
  12336. <type name="utf8" c:type="const gchar*"/>
  12337. </parameter>
  12338. <parameter name="minimum" transfer-ownership="none">
  12339. <doc xml:space="preserve">minimum value for the property specified</doc>
  12340. <type name="gint" c:type="gint"/>
  12341. </parameter>
  12342. <parameter name="maximum" transfer-ownership="none">
  12343. <doc xml:space="preserve">maximum value for the property specified</doc>
  12344. <type name="gint" c:type="gint"/>
  12345. </parameter>
  12346. <parameter name="default_value" transfer-ownership="none">
  12347. <doc xml:space="preserve">default value for the property specified</doc>
  12348. <type name="gint" c:type="gint"/>
  12349. </parameter>
  12350. <parameter name="flags" transfer-ownership="none">
  12351. <doc xml:space="preserve">flags for the property specified</doc>
  12352. <type name="ParamFlags" c:type="GParamFlags"/>
  12353. </parameter>
  12354. </parameters>
  12355. </function>
  12356. <function name="param_spec_int64" c:identifier="g_param_spec_int64">
  12357. <doc xml:space="preserve">Creates a new #GParamSpecInt64 instance specifying a %G_TYPE_INT64 property.
  12358. See g_param_spec_internal() for details on property names.</doc>
  12359. <return-value transfer-ownership="full">
  12360. <doc xml:space="preserve">a newly created parameter specification</doc>
  12361. <type name="ParamSpec" c:type="GParamSpec*"/>
  12362. </return-value>
  12363. <parameters>
  12364. <parameter name="name" transfer-ownership="none">
  12365. <doc xml:space="preserve">canonical name of the property specified</doc>
  12366. <type name="utf8" c:type="const gchar*"/>
  12367. </parameter>
  12368. <parameter name="nick" transfer-ownership="none">
  12369. <doc xml:space="preserve">nick name for the property specified</doc>
  12370. <type name="utf8" c:type="const gchar*"/>
  12371. </parameter>
  12372. <parameter name="blurb" transfer-ownership="none">
  12373. <doc xml:space="preserve">description of the property specified</doc>
  12374. <type name="utf8" c:type="const gchar*"/>
  12375. </parameter>
  12376. <parameter name="minimum" transfer-ownership="none">
  12377. <doc xml:space="preserve">minimum value for the property specified</doc>
  12378. <type name="gint64" c:type="gint64"/>
  12379. </parameter>
  12380. <parameter name="maximum" transfer-ownership="none">
  12381. <doc xml:space="preserve">maximum value for the property specified</doc>
  12382. <type name="gint64" c:type="gint64"/>
  12383. </parameter>
  12384. <parameter name="default_value" transfer-ownership="none">
  12385. <doc xml:space="preserve">default value for the property specified</doc>
  12386. <type name="gint64" c:type="gint64"/>
  12387. </parameter>
  12388. <parameter name="flags" transfer-ownership="none">
  12389. <doc xml:space="preserve">flags for the property specified</doc>
  12390. <type name="ParamFlags" c:type="GParamFlags"/>
  12391. </parameter>
  12392. </parameters>
  12393. </function>
  12394. <function name="param_spec_long" c:identifier="g_param_spec_long">
  12395. <doc xml:space="preserve">Creates a new #GParamSpecLong instance specifying a %G_TYPE_LONG property.
  12396. See g_param_spec_internal() for details on property names.</doc>
  12397. <return-value transfer-ownership="full">
  12398. <doc xml:space="preserve">a newly created parameter specification</doc>
  12399. <type name="ParamSpec" c:type="GParamSpec*"/>
  12400. </return-value>
  12401. <parameters>
  12402. <parameter name="name" transfer-ownership="none">
  12403. <doc xml:space="preserve">canonical name of the property specified</doc>
  12404. <type name="utf8" c:type="const gchar*"/>
  12405. </parameter>
  12406. <parameter name="nick" transfer-ownership="none">
  12407. <doc xml:space="preserve">nick name for the property specified</doc>
  12408. <type name="utf8" c:type="const gchar*"/>
  12409. </parameter>
  12410. <parameter name="blurb" transfer-ownership="none">
  12411. <doc xml:space="preserve">description of the property specified</doc>
  12412. <type name="utf8" c:type="const gchar*"/>
  12413. </parameter>
  12414. <parameter name="minimum" transfer-ownership="none">
  12415. <doc xml:space="preserve">minimum value for the property specified</doc>
  12416. <type name="glong" c:type="glong"/>
  12417. </parameter>
  12418. <parameter name="maximum" transfer-ownership="none">
  12419. <doc xml:space="preserve">maximum value for the property specified</doc>
  12420. <type name="glong" c:type="glong"/>
  12421. </parameter>
  12422. <parameter name="default_value" transfer-ownership="none">
  12423. <doc xml:space="preserve">default value for the property specified</doc>
  12424. <type name="glong" c:type="glong"/>
  12425. </parameter>
  12426. <parameter name="flags" transfer-ownership="none">
  12427. <doc xml:space="preserve">flags for the property specified</doc>
  12428. <type name="ParamFlags" c:type="GParamFlags"/>
  12429. </parameter>
  12430. </parameters>
  12431. </function>
  12432. <function name="param_spec_object" c:identifier="g_param_spec_object">
  12433. <doc xml:space="preserve">Creates a new #GParamSpecBoxed instance specifying a %G_TYPE_OBJECT
  12434. derived property.
  12435. See g_param_spec_internal() for details on property names.</doc>
  12436. <return-value transfer-ownership="full">
  12437. <doc xml:space="preserve">a newly created parameter specification</doc>
  12438. <type name="ParamSpec" c:type="GParamSpec*"/>
  12439. </return-value>
  12440. <parameters>
  12441. <parameter name="name" transfer-ownership="none">
  12442. <doc xml:space="preserve">canonical name of the property specified</doc>
  12443. <type name="utf8" c:type="const gchar*"/>
  12444. </parameter>
  12445. <parameter name="nick" transfer-ownership="none">
  12446. <doc xml:space="preserve">nick name for the property specified</doc>
  12447. <type name="utf8" c:type="const gchar*"/>
  12448. </parameter>
  12449. <parameter name="blurb" transfer-ownership="none">
  12450. <doc xml:space="preserve">description of the property specified</doc>
  12451. <type name="utf8" c:type="const gchar*"/>
  12452. </parameter>
  12453. <parameter name="object_type" transfer-ownership="none">
  12454. <doc xml:space="preserve">%G_TYPE_OBJECT derived type of this property</doc>
  12455. <type name="GType" c:type="GType"/>
  12456. </parameter>
  12457. <parameter name="flags" transfer-ownership="none">
  12458. <doc xml:space="preserve">flags for the property specified</doc>
  12459. <type name="ParamFlags" c:type="GParamFlags"/>
  12460. </parameter>
  12461. </parameters>
  12462. </function>
  12463. <function name="param_spec_override"
  12464. c:identifier="g_param_spec_override"
  12465. version="2.4"
  12466. introspectable="0">
  12467. <doc xml:space="preserve">Creates a new property of type #GParamSpecOverride. This is used
  12468. to direct operations to another paramspec, and will not be directly
  12469. useful unless you are implementing a new base type similar to GObject.</doc>
  12470. <return-value>
  12471. <doc xml:space="preserve">the newly created #GParamSpec</doc>
  12472. <type name="ParamSpec" c:type="GParamSpec*"/>
  12473. </return-value>
  12474. <parameters>
  12475. <parameter name="name" transfer-ownership="none">
  12476. <doc xml:space="preserve">the name of the property.</doc>
  12477. <type name="utf8" c:type="const gchar*"/>
  12478. </parameter>
  12479. <parameter name="overridden" transfer-ownership="none">
  12480. <doc xml:space="preserve">The property that is being overridden</doc>
  12481. <type name="ParamSpec" c:type="GParamSpec*"/>
  12482. </parameter>
  12483. </parameters>
  12484. </function>
  12485. <function name="param_spec_param" c:identifier="g_param_spec_param">
  12486. <doc xml:space="preserve">Creates a new #GParamSpecParam instance specifying a %G_TYPE_PARAM
  12487. property.
  12488. See g_param_spec_internal() for details on property names.</doc>
  12489. <return-value transfer-ownership="full">
  12490. <doc xml:space="preserve">a newly created parameter specification</doc>
  12491. <type name="ParamSpec" c:type="GParamSpec*"/>
  12492. </return-value>
  12493. <parameters>
  12494. <parameter name="name" transfer-ownership="none">
  12495. <doc xml:space="preserve">canonical name of the property specified</doc>
  12496. <type name="utf8" c:type="const gchar*"/>
  12497. </parameter>
  12498. <parameter name="nick" transfer-ownership="none">
  12499. <doc xml:space="preserve">nick name for the property specified</doc>
  12500. <type name="utf8" c:type="const gchar*"/>
  12501. </parameter>
  12502. <parameter name="blurb" transfer-ownership="none">
  12503. <doc xml:space="preserve">description of the property specified</doc>
  12504. <type name="utf8" c:type="const gchar*"/>
  12505. </parameter>
  12506. <parameter name="param_type" transfer-ownership="none">
  12507. <doc xml:space="preserve">a #GType derived from %G_TYPE_PARAM</doc>
  12508. <type name="GType" c:type="GType"/>
  12509. </parameter>
  12510. <parameter name="flags" transfer-ownership="none">
  12511. <doc xml:space="preserve">flags for the property specified</doc>
  12512. <type name="ParamFlags" c:type="GParamFlags"/>
  12513. </parameter>
  12514. </parameters>
  12515. </function>
  12516. <function name="param_spec_pointer" c:identifier="g_param_spec_pointer">
  12517. <doc xml:space="preserve">Creates a new #GParamSpecPointer instance specifying a pointer property.
  12518. Where possible, it is better to use g_param_spec_object() or
  12519. g_param_spec_boxed() to expose memory management information.
  12520. See g_param_spec_internal() for details on property names.</doc>
  12521. <return-value transfer-ownership="full">
  12522. <doc xml:space="preserve">a newly created parameter specification</doc>
  12523. <type name="ParamSpec" c:type="GParamSpec*"/>
  12524. </return-value>
  12525. <parameters>
  12526. <parameter name="name" transfer-ownership="none">
  12527. <doc xml:space="preserve">canonical name of the property specified</doc>
  12528. <type name="utf8" c:type="const gchar*"/>
  12529. </parameter>
  12530. <parameter name="nick" transfer-ownership="none">
  12531. <doc xml:space="preserve">nick name for the property specified</doc>
  12532. <type name="utf8" c:type="const gchar*"/>
  12533. </parameter>
  12534. <parameter name="blurb" transfer-ownership="none">
  12535. <doc xml:space="preserve">description of the property specified</doc>
  12536. <type name="utf8" c:type="const gchar*"/>
  12537. </parameter>
  12538. <parameter name="flags" transfer-ownership="none">
  12539. <doc xml:space="preserve">flags for the property specified</doc>
  12540. <type name="ParamFlags" c:type="GParamFlags"/>
  12541. </parameter>
  12542. </parameters>
  12543. </function>
  12544. <function name="param_spec_pool_new"
  12545. c:identifier="g_param_spec_pool_new"
  12546. moved-to="ParamSpecPool.new">
  12547. <doc xml:space="preserve">Creates a new #GParamSpecPool.
  12548. If @type_prefixing is %TRUE, lookups in the newly created pool will
  12549. allow to specify the owner as a colon-separated prefix of the
  12550. property name, like "GtkContainer:border-width". This feature is
  12551. deprecated, so you should always set @type_prefixing to %FALSE.</doc>
  12552. <return-value transfer-ownership="none">
  12553. <doc xml:space="preserve">a newly allocated #GParamSpecPool.</doc>
  12554. <type name="ParamSpecPool" c:type="GParamSpecPool*"/>
  12555. </return-value>
  12556. <parameters>
  12557. <parameter name="type_prefixing" transfer-ownership="none">
  12558. <doc xml:space="preserve">Whether the pool will support type-prefixed property names.</doc>
  12559. <type name="gboolean" c:type="gboolean"/>
  12560. </parameter>
  12561. </parameters>
  12562. </function>
  12563. <function name="param_spec_string" c:identifier="g_param_spec_string">
  12564. <doc xml:space="preserve">Creates a new #GParamSpecString instance.
  12565. See g_param_spec_internal() for details on property names.</doc>
  12566. <return-value transfer-ownership="full">
  12567. <doc xml:space="preserve">a newly created parameter specification</doc>
  12568. <type name="ParamSpec" c:type="GParamSpec*"/>
  12569. </return-value>
  12570. <parameters>
  12571. <parameter name="name" transfer-ownership="none">
  12572. <doc xml:space="preserve">canonical name of the property specified</doc>
  12573. <type name="utf8" c:type="const gchar*"/>
  12574. </parameter>
  12575. <parameter name="nick" transfer-ownership="none">
  12576. <doc xml:space="preserve">nick name for the property specified</doc>
  12577. <type name="utf8" c:type="const gchar*"/>
  12578. </parameter>
  12579. <parameter name="blurb" transfer-ownership="none">
  12580. <doc xml:space="preserve">description of the property specified</doc>
  12581. <type name="utf8" c:type="const gchar*"/>
  12582. </parameter>
  12583. <parameter name="default_value"
  12584. transfer-ownership="none"
  12585. nullable="1"
  12586. allow-none="1">
  12587. <doc xml:space="preserve">default value for the property specified</doc>
  12588. <type name="utf8" c:type="const gchar*"/>
  12589. </parameter>
  12590. <parameter name="flags" transfer-ownership="none">
  12591. <doc xml:space="preserve">flags for the property specified</doc>
  12592. <type name="ParamFlags" c:type="GParamFlags"/>
  12593. </parameter>
  12594. </parameters>
  12595. </function>
  12596. <function name="param_spec_uchar" c:identifier="g_param_spec_uchar">
  12597. <doc xml:space="preserve">Creates a new #GParamSpecUChar instance specifying a %G_TYPE_UCHAR property.</doc>
  12598. <return-value transfer-ownership="full">
  12599. <doc xml:space="preserve">a newly created parameter specification</doc>
  12600. <type name="ParamSpec" c:type="GParamSpec*"/>
  12601. </return-value>
  12602. <parameters>
  12603. <parameter name="name" transfer-ownership="none">
  12604. <doc xml:space="preserve">canonical name of the property specified</doc>
  12605. <type name="utf8" c:type="const gchar*"/>
  12606. </parameter>
  12607. <parameter name="nick" transfer-ownership="none">
  12608. <doc xml:space="preserve">nick name for the property specified</doc>
  12609. <type name="utf8" c:type="const gchar*"/>
  12610. </parameter>
  12611. <parameter name="blurb" transfer-ownership="none">
  12612. <doc xml:space="preserve">description of the property specified</doc>
  12613. <type name="utf8" c:type="const gchar*"/>
  12614. </parameter>
  12615. <parameter name="minimum" transfer-ownership="none">
  12616. <doc xml:space="preserve">minimum value for the property specified</doc>
  12617. <type name="guint8" c:type="guint8"/>
  12618. </parameter>
  12619. <parameter name="maximum" transfer-ownership="none">
  12620. <doc xml:space="preserve">maximum value for the property specified</doc>
  12621. <type name="guint8" c:type="guint8"/>
  12622. </parameter>
  12623. <parameter name="default_value" transfer-ownership="none">
  12624. <doc xml:space="preserve">default value for the property specified</doc>
  12625. <type name="guint8" c:type="guint8"/>
  12626. </parameter>
  12627. <parameter name="flags" transfer-ownership="none">
  12628. <doc xml:space="preserve">flags for the property specified</doc>
  12629. <type name="ParamFlags" c:type="GParamFlags"/>
  12630. </parameter>
  12631. </parameters>
  12632. </function>
  12633. <function name="param_spec_uint" c:identifier="g_param_spec_uint">
  12634. <doc xml:space="preserve">Creates a new #GParamSpecUInt instance specifying a %G_TYPE_UINT property.
  12635. See g_param_spec_internal() for details on property names.</doc>
  12636. <return-value transfer-ownership="full">
  12637. <doc xml:space="preserve">a newly created parameter specification</doc>
  12638. <type name="ParamSpec" c:type="GParamSpec*"/>
  12639. </return-value>
  12640. <parameters>
  12641. <parameter name="name" transfer-ownership="none">
  12642. <doc xml:space="preserve">canonical name of the property specified</doc>
  12643. <type name="utf8" c:type="const gchar*"/>
  12644. </parameter>
  12645. <parameter name="nick" transfer-ownership="none">
  12646. <doc xml:space="preserve">nick name for the property specified</doc>
  12647. <type name="utf8" c:type="const gchar*"/>
  12648. </parameter>
  12649. <parameter name="blurb" transfer-ownership="none">
  12650. <doc xml:space="preserve">description of the property specified</doc>
  12651. <type name="utf8" c:type="const gchar*"/>
  12652. </parameter>
  12653. <parameter name="minimum" transfer-ownership="none">
  12654. <doc xml:space="preserve">minimum value for the property specified</doc>
  12655. <type name="guint" c:type="guint"/>
  12656. </parameter>
  12657. <parameter name="maximum" transfer-ownership="none">
  12658. <doc xml:space="preserve">maximum value for the property specified</doc>
  12659. <type name="guint" c:type="guint"/>
  12660. </parameter>
  12661. <parameter name="default_value" transfer-ownership="none">
  12662. <doc xml:space="preserve">default value for the property specified</doc>
  12663. <type name="guint" c:type="guint"/>
  12664. </parameter>
  12665. <parameter name="flags" transfer-ownership="none">
  12666. <doc xml:space="preserve">flags for the property specified</doc>
  12667. <type name="ParamFlags" c:type="GParamFlags"/>
  12668. </parameter>
  12669. </parameters>
  12670. </function>
  12671. <function name="param_spec_uint64" c:identifier="g_param_spec_uint64">
  12672. <doc xml:space="preserve">Creates a new #GParamSpecUInt64 instance specifying a %G_TYPE_UINT64
  12673. property.
  12674. See g_param_spec_internal() for details on property names.</doc>
  12675. <return-value transfer-ownership="full">
  12676. <doc xml:space="preserve">a newly created parameter specification</doc>
  12677. <type name="ParamSpec" c:type="GParamSpec*"/>
  12678. </return-value>
  12679. <parameters>
  12680. <parameter name="name" transfer-ownership="none">
  12681. <doc xml:space="preserve">canonical name of the property specified</doc>
  12682. <type name="utf8" c:type="const gchar*"/>
  12683. </parameter>
  12684. <parameter name="nick" transfer-ownership="none">
  12685. <doc xml:space="preserve">nick name for the property specified</doc>
  12686. <type name="utf8" c:type="const gchar*"/>
  12687. </parameter>
  12688. <parameter name="blurb" transfer-ownership="none">
  12689. <doc xml:space="preserve">description of the property specified</doc>
  12690. <type name="utf8" c:type="const gchar*"/>
  12691. </parameter>
  12692. <parameter name="minimum" transfer-ownership="none">
  12693. <doc xml:space="preserve">minimum value for the property specified</doc>
  12694. <type name="guint64" c:type="guint64"/>
  12695. </parameter>
  12696. <parameter name="maximum" transfer-ownership="none">
  12697. <doc xml:space="preserve">maximum value for the property specified</doc>
  12698. <type name="guint64" c:type="guint64"/>
  12699. </parameter>
  12700. <parameter name="default_value" transfer-ownership="none">
  12701. <doc xml:space="preserve">default value for the property specified</doc>
  12702. <type name="guint64" c:type="guint64"/>
  12703. </parameter>
  12704. <parameter name="flags" transfer-ownership="none">
  12705. <doc xml:space="preserve">flags for the property specified</doc>
  12706. <type name="ParamFlags" c:type="GParamFlags"/>
  12707. </parameter>
  12708. </parameters>
  12709. </function>
  12710. <function name="param_spec_ulong" c:identifier="g_param_spec_ulong">
  12711. <doc xml:space="preserve">Creates a new #GParamSpecULong instance specifying a %G_TYPE_ULONG
  12712. property.
  12713. See g_param_spec_internal() for details on property names.</doc>
  12714. <return-value transfer-ownership="full">
  12715. <doc xml:space="preserve">a newly created parameter specification</doc>
  12716. <type name="ParamSpec" c:type="GParamSpec*"/>
  12717. </return-value>
  12718. <parameters>
  12719. <parameter name="name" transfer-ownership="none">
  12720. <doc xml:space="preserve">canonical name of the property specified</doc>
  12721. <type name="utf8" c:type="const gchar*"/>
  12722. </parameter>
  12723. <parameter name="nick" transfer-ownership="none">
  12724. <doc xml:space="preserve">nick name for the property specified</doc>
  12725. <type name="utf8" c:type="const gchar*"/>
  12726. </parameter>
  12727. <parameter name="blurb" transfer-ownership="none">
  12728. <doc xml:space="preserve">description of the property specified</doc>
  12729. <type name="utf8" c:type="const gchar*"/>
  12730. </parameter>
  12731. <parameter name="minimum" transfer-ownership="none">
  12732. <doc xml:space="preserve">minimum value for the property specified</doc>
  12733. <type name="gulong" c:type="gulong"/>
  12734. </parameter>
  12735. <parameter name="maximum" transfer-ownership="none">
  12736. <doc xml:space="preserve">maximum value for the property specified</doc>
  12737. <type name="gulong" c:type="gulong"/>
  12738. </parameter>
  12739. <parameter name="default_value" transfer-ownership="none">
  12740. <doc xml:space="preserve">default value for the property specified</doc>
  12741. <type name="gulong" c:type="gulong"/>
  12742. </parameter>
  12743. <parameter name="flags" transfer-ownership="none">
  12744. <doc xml:space="preserve">flags for the property specified</doc>
  12745. <type name="ParamFlags" c:type="GParamFlags"/>
  12746. </parameter>
  12747. </parameters>
  12748. </function>
  12749. <function name="param_spec_unichar" c:identifier="g_param_spec_unichar">
  12750. <doc xml:space="preserve">Creates a new #GParamSpecUnichar instance specifying a %G_TYPE_UINT
  12751. property. #GValue structures for this property can be accessed with
  12752. g_value_set_uint() and g_value_get_uint().
  12753. See g_param_spec_internal() for details on property names.</doc>
  12754. <return-value transfer-ownership="full">
  12755. <doc xml:space="preserve">a newly created parameter specification</doc>
  12756. <type name="ParamSpec" c:type="GParamSpec*"/>
  12757. </return-value>
  12758. <parameters>
  12759. <parameter name="name" transfer-ownership="none">
  12760. <doc xml:space="preserve">canonical name of the property specified</doc>
  12761. <type name="utf8" c:type="const gchar*"/>
  12762. </parameter>
  12763. <parameter name="nick" transfer-ownership="none">
  12764. <doc xml:space="preserve">nick name for the property specified</doc>
  12765. <type name="utf8" c:type="const gchar*"/>
  12766. </parameter>
  12767. <parameter name="blurb" transfer-ownership="none">
  12768. <doc xml:space="preserve">description of the property specified</doc>
  12769. <type name="utf8" c:type="const gchar*"/>
  12770. </parameter>
  12771. <parameter name="default_value" transfer-ownership="none">
  12772. <doc xml:space="preserve">default value for the property specified</doc>
  12773. <type name="gunichar" c:type="gunichar"/>
  12774. </parameter>
  12775. <parameter name="flags" transfer-ownership="none">
  12776. <doc xml:space="preserve">flags for the property specified</doc>
  12777. <type name="ParamFlags" c:type="GParamFlags"/>
  12778. </parameter>
  12779. </parameters>
  12780. </function>
  12781. <function name="param_spec_value_array"
  12782. c:identifier="g_param_spec_value_array"
  12783. introspectable="0">
  12784. <doc xml:space="preserve">Creates a new #GParamSpecValueArray instance specifying a
  12785. %G_TYPE_VALUE_ARRAY property. %G_TYPE_VALUE_ARRAY is a
  12786. %G_TYPE_BOXED type, as such, #GValue structures for this property
  12787. can be accessed with g_value_set_boxed() and g_value_get_boxed().
  12788. See g_param_spec_internal() for details on property names.</doc>
  12789. <return-value>
  12790. <doc xml:space="preserve">a newly created parameter specification</doc>
  12791. <type name="ParamSpec" c:type="GParamSpec*"/>
  12792. </return-value>
  12793. <parameters>
  12794. <parameter name="name" transfer-ownership="none">
  12795. <doc xml:space="preserve">canonical name of the property specified</doc>
  12796. <type name="utf8" c:type="const gchar*"/>
  12797. </parameter>
  12798. <parameter name="nick" transfer-ownership="none">
  12799. <doc xml:space="preserve">nick name for the property specified</doc>
  12800. <type name="utf8" c:type="const gchar*"/>
  12801. </parameter>
  12802. <parameter name="blurb" transfer-ownership="none">
  12803. <doc xml:space="preserve">description of the property specified</doc>
  12804. <type name="utf8" c:type="const gchar*"/>
  12805. </parameter>
  12806. <parameter name="element_spec" transfer-ownership="none">
  12807. <doc xml:space="preserve">a #GParamSpec describing the elements contained in
  12808. arrays of this property, may be %NULL</doc>
  12809. <type name="ParamSpec" c:type="GParamSpec*"/>
  12810. </parameter>
  12811. <parameter name="flags" transfer-ownership="none">
  12812. <doc xml:space="preserve">flags for the property specified</doc>
  12813. <type name="ParamFlags" c:type="GParamFlags"/>
  12814. </parameter>
  12815. </parameters>
  12816. </function>
  12817. <function name="param_spec_variant"
  12818. c:identifier="g_param_spec_variant"
  12819. version="2.26">
  12820. <doc xml:space="preserve">Creates a new #GParamSpecVariant instance specifying a #GVariant
  12821. property.
  12822. If @default_value is floating, it is consumed.
  12823. See g_param_spec_internal() for details on property names.</doc>
  12824. <return-value transfer-ownership="full">
  12825. <doc xml:space="preserve">the newly created #GParamSpec</doc>
  12826. <type name="ParamSpec" c:type="GParamSpec*"/>
  12827. </return-value>
  12828. <parameters>
  12829. <parameter name="name" transfer-ownership="none">
  12830. <doc xml:space="preserve">canonical name of the property specified</doc>
  12831. <type name="utf8" c:type="const gchar*"/>
  12832. </parameter>
  12833. <parameter name="nick" transfer-ownership="none">
  12834. <doc xml:space="preserve">nick name for the property specified</doc>
  12835. <type name="utf8" c:type="const gchar*"/>
  12836. </parameter>
  12837. <parameter name="blurb" transfer-ownership="none">
  12838. <doc xml:space="preserve">description of the property specified</doc>
  12839. <type name="utf8" c:type="const gchar*"/>
  12840. </parameter>
  12841. <parameter name="type" transfer-ownership="none">
  12842. <doc xml:space="preserve">a #GVariantType</doc>
  12843. <type name="GLib.VariantType" c:type="const GVariantType*"/>
  12844. </parameter>
  12845. <parameter name="default_value"
  12846. transfer-ownership="full"
  12847. nullable="1"
  12848. allow-none="1">
  12849. <doc xml:space="preserve">a #GVariant of type @type to
  12850. use as the default value, or %NULL</doc>
  12851. <type name="GLib.Variant" c:type="GVariant*"/>
  12852. </parameter>
  12853. <parameter name="flags" transfer-ownership="none">
  12854. <doc xml:space="preserve">flags for the property specified</doc>
  12855. <type name="ParamFlags" c:type="GParamFlags"/>
  12856. </parameter>
  12857. </parameters>
  12858. </function>
  12859. <function name="param_type_register_static"
  12860. c:identifier="g_param_type_register_static">
  12861. <doc xml:space="preserve">Registers @name as the name of a new static type derived from
  12862. #G_TYPE_PARAM. The type system uses the information contained in
  12863. the #GParamSpecTypeInfo structure pointed to by @info to manage the
  12864. #GParamSpec type and its instances.</doc>
  12865. <return-value transfer-ownership="none">
  12866. <doc xml:space="preserve">The new type identifier.</doc>
  12867. <type name="GType" c:type="GType"/>
  12868. </return-value>
  12869. <parameters>
  12870. <parameter name="name" transfer-ownership="none">
  12871. <doc xml:space="preserve">0-terminated string used as the name of the new #GParamSpec type.</doc>
  12872. <type name="utf8" c:type="const gchar*"/>
  12873. </parameter>
  12874. <parameter name="pspec_info" transfer-ownership="none">
  12875. <doc xml:space="preserve">The #GParamSpecTypeInfo for this #GParamSpec type.</doc>
  12876. <type name="ParamSpecTypeInfo" c:type="const GParamSpecTypeInfo*"/>
  12877. </parameter>
  12878. </parameters>
  12879. </function>
  12880. <function name="param_value_convert" c:identifier="g_param_value_convert">
  12881. <doc xml:space="preserve">Transforms @src_value into @dest_value if possible, and then
  12882. validates @dest_value, in order for it to conform to @pspec. If
  12883. @strict_validation is %TRUE this function will only succeed if the
  12884. transformed @dest_value complied to @pspec without modifications.
  12885. See also g_value_type_transformable(), g_value_transform() and
  12886. g_param_value_validate().</doc>
  12887. <return-value transfer-ownership="none">
  12888. <doc xml:space="preserve">%TRUE if transformation and validation were successful,
  12889. %FALSE otherwise and @dest_value is left untouched.</doc>
  12890. <type name="gboolean" c:type="gboolean"/>
  12891. </return-value>
  12892. <parameters>
  12893. <parameter name="pspec" transfer-ownership="none">
  12894. <doc xml:space="preserve">a valid #GParamSpec</doc>
  12895. <type name="ParamSpec" c:type="GParamSpec*"/>
  12896. </parameter>
  12897. <parameter name="src_value" transfer-ownership="none">
  12898. <doc xml:space="preserve">souce #GValue</doc>
  12899. <type name="Value" c:type="const GValue*"/>
  12900. </parameter>
  12901. <parameter name="dest_value" transfer-ownership="none">
  12902. <doc xml:space="preserve">destination #GValue of correct type for @pspec</doc>
  12903. <type name="Value" c:type="GValue*"/>
  12904. </parameter>
  12905. <parameter name="strict_validation" transfer-ownership="none">
  12906. <doc xml:space="preserve">%TRUE requires @dest_value to conform to @pspec
  12907. without modifications</doc>
  12908. <type name="gboolean" c:type="gboolean"/>
  12909. </parameter>
  12910. </parameters>
  12911. </function>
  12912. <function name="param_value_defaults"
  12913. c:identifier="g_param_value_defaults">
  12914. <doc xml:space="preserve">Checks whether @value contains the default value as specified in @pspec.</doc>
  12915. <return-value transfer-ownership="none">
  12916. <doc xml:space="preserve">whether @value contains the canonical default for this @pspec</doc>
  12917. <type name="gboolean" c:type="gboolean"/>
  12918. </return-value>
  12919. <parameters>
  12920. <parameter name="pspec" transfer-ownership="none">
  12921. <doc xml:space="preserve">a valid #GParamSpec</doc>
  12922. <type name="ParamSpec" c:type="GParamSpec*"/>
  12923. </parameter>
  12924. <parameter name="value" transfer-ownership="none">
  12925. <doc xml:space="preserve">a #GValue of correct type for @pspec</doc>
  12926. <type name="Value" c:type="GValue*"/>
  12927. </parameter>
  12928. </parameters>
  12929. </function>
  12930. <function name="param_value_set_default"
  12931. c:identifier="g_param_value_set_default">
  12932. <doc xml:space="preserve">Sets @value to its default value as specified in @pspec.</doc>
  12933. <return-value transfer-ownership="none">
  12934. <type name="none" c:type="void"/>
  12935. </return-value>
  12936. <parameters>
  12937. <parameter name="pspec" transfer-ownership="none">
  12938. <doc xml:space="preserve">a valid #GParamSpec</doc>
  12939. <type name="ParamSpec" c:type="GParamSpec*"/>
  12940. </parameter>
  12941. <parameter name="value" transfer-ownership="none">
  12942. <doc xml:space="preserve">a #GValue of correct type for @pspec</doc>
  12943. <type name="Value" c:type="GValue*"/>
  12944. </parameter>
  12945. </parameters>
  12946. </function>
  12947. <function name="param_value_validate"
  12948. c:identifier="g_param_value_validate">
  12949. <doc xml:space="preserve">Ensures that the contents of @value comply with the specifications
  12950. set out by @pspec. For example, a #GParamSpecInt might require
  12951. that integers stored in @value may not be smaller than -42 and not be
  12952. greater than +42. If @value contains an integer outside of this range,
  12953. it is modified accordingly, so the resulting value will fit into the
  12954. range -42 .. +42.</doc>
  12955. <return-value transfer-ownership="none">
  12956. <doc xml:space="preserve">whether modifying @value was necessary to ensure validity</doc>
  12957. <type name="gboolean" c:type="gboolean"/>
  12958. </return-value>
  12959. <parameters>
  12960. <parameter name="pspec" transfer-ownership="none">
  12961. <doc xml:space="preserve">a valid #GParamSpec</doc>
  12962. <type name="ParamSpec" c:type="GParamSpec*"/>
  12963. </parameter>
  12964. <parameter name="value" transfer-ownership="none">
  12965. <doc xml:space="preserve">a #GValue of correct type for @pspec</doc>
  12966. <type name="Value" c:type="GValue*"/>
  12967. </parameter>
  12968. </parameters>
  12969. </function>
  12970. <function name="param_values_cmp" c:identifier="g_param_values_cmp">
  12971. <doc xml:space="preserve">Compares @value1 with @value2 according to @pspec, and return -1, 0 or +1,
  12972. if @value1 is found to be less than, equal to or greater than @value2,
  12973. respectively.</doc>
  12974. <return-value transfer-ownership="none">
  12975. <doc xml:space="preserve">-1, 0 or +1, for a less than, equal to or greater than result</doc>
  12976. <type name="gint" c:type="gint"/>
  12977. </return-value>
  12978. <parameters>
  12979. <parameter name="pspec" transfer-ownership="none">
  12980. <doc xml:space="preserve">a valid #GParamSpec</doc>
  12981. <type name="ParamSpec" c:type="GParamSpec*"/>
  12982. </parameter>
  12983. <parameter name="value1" transfer-ownership="none">
  12984. <doc xml:space="preserve">a #GValue of correct type for @pspec</doc>
  12985. <type name="Value" c:type="const GValue*"/>
  12986. </parameter>
  12987. <parameter name="value2" transfer-ownership="none">
  12988. <doc xml:space="preserve">a #GValue of correct type for @pspec</doc>
  12989. <type name="Value" c:type="const GValue*"/>
  12990. </parameter>
  12991. </parameters>
  12992. </function>
  12993. <function name="pointer_type_register_static"
  12994. c:identifier="g_pointer_type_register_static">
  12995. <doc xml:space="preserve">Creates a new %G_TYPE_POINTER derived type id for a new
  12996. pointer type with name @name.</doc>
  12997. <return-value transfer-ownership="none">
  12998. <doc xml:space="preserve">a new %G_TYPE_POINTER derived type id for @name.</doc>
  12999. <type name="GType" c:type="GType"/>
  13000. </return-value>
  13001. <parameters>
  13002. <parameter name="name" transfer-ownership="none">
  13003. <doc xml:space="preserve">the name of the new pointer type.</doc>
  13004. <type name="utf8" c:type="const gchar*"/>
  13005. </parameter>
  13006. </parameters>
  13007. </function>
  13008. <function name="signal_accumulator_first_wins"
  13009. c:identifier="g_signal_accumulator_first_wins"
  13010. version="2.28">
  13011. <doc xml:space="preserve">A predefined #GSignalAccumulator for signals intended to be used as a
  13012. hook for application code to provide a particular value. Usually
  13013. only one such value is desired and multiple handlers for the same
  13014. signal don't make much sense (except for the case of the default
  13015. handler defined in the class structure, in which case you will
  13016. usually want the signal connection to override the class handler).
  13017. This accumulator will use the return value from the first signal
  13018. handler that is run as the return value for the signal and not run
  13019. any further handlers (ie: the first handler "wins").</doc>
  13020. <return-value transfer-ownership="none">
  13021. <doc xml:space="preserve">standard #GSignalAccumulator result</doc>
  13022. <type name="gboolean" c:type="gboolean"/>
  13023. </return-value>
  13024. <parameters>
  13025. <parameter name="ihint" transfer-ownership="none">
  13026. <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
  13027. <type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
  13028. </parameter>
  13029. <parameter name="return_accu" transfer-ownership="none">
  13030. <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
  13031. <type name="Value" c:type="GValue*"/>
  13032. </parameter>
  13033. <parameter name="handler_return" transfer-ownership="none">
  13034. <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
  13035. <type name="Value" c:type="const GValue*"/>
  13036. </parameter>
  13037. <parameter name="dummy"
  13038. transfer-ownership="none"
  13039. nullable="1"
  13040. allow-none="1">
  13041. <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
  13042. <type name="gpointer" c:type="gpointer"/>
  13043. </parameter>
  13044. </parameters>
  13045. </function>
  13046. <function name="signal_accumulator_true_handled"
  13047. c:identifier="g_signal_accumulator_true_handled"
  13048. version="2.4">
  13049. <doc xml:space="preserve">A predefined #GSignalAccumulator for signals that return a
  13050. boolean values. The behavior that this accumulator gives is
  13051. that a return of %TRUE stops the signal emission: no further
  13052. callbacks will be invoked, while a return of %FALSE allows
  13053. the emission to continue. The idea here is that a %TRUE return
  13054. indicates that the callback handled the signal, and no further
  13055. handling is needed.</doc>
  13056. <return-value transfer-ownership="none">
  13057. <doc xml:space="preserve">standard #GSignalAccumulator result</doc>
  13058. <type name="gboolean" c:type="gboolean"/>
  13059. </return-value>
  13060. <parameters>
  13061. <parameter name="ihint" transfer-ownership="none">
  13062. <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
  13063. <type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
  13064. </parameter>
  13065. <parameter name="return_accu" transfer-ownership="none">
  13066. <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
  13067. <type name="Value" c:type="GValue*"/>
  13068. </parameter>
  13069. <parameter name="handler_return" transfer-ownership="none">
  13070. <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
  13071. <type name="Value" c:type="const GValue*"/>
  13072. </parameter>
  13073. <parameter name="dummy"
  13074. transfer-ownership="none"
  13075. nullable="1"
  13076. allow-none="1">
  13077. <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
  13078. <type name="gpointer" c:type="gpointer"/>
  13079. </parameter>
  13080. </parameters>
  13081. </function>
  13082. <function name="signal_add_emission_hook"
  13083. c:identifier="g_signal_add_emission_hook">
  13084. <doc xml:space="preserve">Adds an emission hook for a signal, which will get called for any emission
  13085. of that signal, independent of the instance. This is possible only
  13086. for signals which don't have #G_SIGNAL_NO_HOOKS flag set.</doc>
  13087. <return-value transfer-ownership="none">
  13088. <doc xml:space="preserve">the hook id, for later use with g_signal_remove_emission_hook().</doc>
  13089. <type name="gulong" c:type="gulong"/>
  13090. </return-value>
  13091. <parameters>
  13092. <parameter name="signal_id" transfer-ownership="none">
  13093. <doc xml:space="preserve">the signal identifier, as returned by g_signal_lookup().</doc>
  13094. <type name="guint" c:type="guint"/>
  13095. </parameter>
  13096. <parameter name="detail" transfer-ownership="none">
  13097. <doc xml:space="preserve">the detail on which to call the hook.</doc>
  13098. <type name="GLib.Quark" c:type="GQuark"/>
  13099. </parameter>
  13100. <parameter name="hook_func"
  13101. transfer-ownership="none"
  13102. scope="notified"
  13103. closure="3"
  13104. destroy="4">
  13105. <doc xml:space="preserve">a #GSignalEmissionHook function.</doc>
  13106. <type name="SignalEmissionHook" c:type="GSignalEmissionHook"/>
  13107. </parameter>
  13108. <parameter name="hook_data"
  13109. transfer-ownership="none"
  13110. nullable="1"
  13111. allow-none="1">
  13112. <doc xml:space="preserve">user data for @hook_func.</doc>
  13113. <type name="gpointer" c:type="gpointer"/>
  13114. </parameter>
  13115. <parameter name="data_destroy" transfer-ownership="none" scope="async">
  13116. <doc xml:space="preserve">a #GDestroyNotify for @hook_data.</doc>
  13117. <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
  13118. </parameter>
  13119. </parameters>
  13120. </function>
  13121. <function name="signal_chain_from_overridden"
  13122. c:identifier="g_signal_chain_from_overridden">
  13123. <doc xml:space="preserve">Calls the original class closure of a signal. This function should only
  13124. be called from an overridden class closure; see
  13125. g_signal_override_class_closure() and
  13126. g_signal_override_class_handler().</doc>
  13127. <return-value transfer-ownership="none">
  13128. <type name="none" c:type="void"/>
  13129. </return-value>
  13130. <parameters>
  13131. <parameter name="instance_and_params" transfer-ownership="none">
  13132. <doc xml:space="preserve">the argument list of the signal emission.
  13133. The first element in the array is a #GValue for the instance the signal
  13134. is being emitted on. The rest are any arguments to be passed to the signal.</doc>
  13135. <array zero-terminated="0" c:type="GValue*">
  13136. <type name="Value" c:type="GValue"/>
  13137. </array>
  13138. </parameter>
  13139. <parameter name="return_value" transfer-ownership="none">
  13140. <doc xml:space="preserve">Location for the return value.</doc>
  13141. <type name="Value" c:type="GValue*"/>
  13142. </parameter>
  13143. </parameters>
  13144. </function>
  13145. <function name="signal_chain_from_overridden_handler"
  13146. c:identifier="g_signal_chain_from_overridden_handler"
  13147. version="2.18"
  13148. introspectable="0">
  13149. <doc xml:space="preserve">Calls the original class closure of a signal. This function should
  13150. only be called from an overridden class closure; see
  13151. g_signal_override_class_closure() and
  13152. g_signal_override_class_handler().</doc>
  13153. <return-value transfer-ownership="none">
  13154. <type name="none" c:type="void"/>
  13155. </return-value>
  13156. <parameters>
  13157. <parameter name="instance" transfer-ownership="none">
  13158. <doc xml:space="preserve">the instance the signal is being
  13159. emitted on.</doc>
  13160. <type name="TypeInstance" c:type="gpointer"/>
  13161. </parameter>
  13162. <parameter name="..." transfer-ownership="none">
  13163. <doc xml:space="preserve">parameters to be passed to the parent class closure, followed by a
  13164. location for the return value. If the return type of the signal
  13165. is #G_TYPE_NONE, the return value location can be omitted.</doc>
  13166. <varargs/>
  13167. </parameter>
  13168. </parameters>
  13169. </function>
  13170. <function name="signal_connect_closure"
  13171. c:identifier="g_signal_connect_closure">
  13172. <doc xml:space="preserve">Connects a closure to a signal for a particular object.</doc>
  13173. <return-value transfer-ownership="none">
  13174. <doc xml:space="preserve">the handler id (always greater than 0 for successful connections)</doc>
  13175. <type name="gulong" c:type="gulong"/>
  13176. </return-value>
  13177. <parameters>
  13178. <parameter name="instance" transfer-ownership="none">
  13179. <doc xml:space="preserve">the instance to connect to.</doc>
  13180. <type name="Object" c:type="gpointer"/>
  13181. </parameter>
  13182. <parameter name="detailed_signal" transfer-ownership="none">
  13183. <doc xml:space="preserve">a string of the form "signal-name::detail".</doc>
  13184. <type name="utf8" c:type="const gchar*"/>
  13185. </parameter>
  13186. <parameter name="closure" transfer-ownership="none">
  13187. <doc xml:space="preserve">the closure to connect.</doc>
  13188. <type name="Closure" c:type="GClosure*"/>
  13189. </parameter>
  13190. <parameter name="after" transfer-ownership="none">
  13191. <doc xml:space="preserve">whether the handler should be called before or after the
  13192. default handler of the signal.</doc>
  13193. <type name="gboolean" c:type="gboolean"/>
  13194. </parameter>
  13195. </parameters>
  13196. </function>
  13197. <function name="signal_connect_closure_by_id"
  13198. c:identifier="g_signal_connect_closure_by_id">
  13199. <doc xml:space="preserve">Connects a closure to a signal for a particular object.</doc>
  13200. <return-value transfer-ownership="none">
  13201. <doc xml:space="preserve">the handler id (always greater than 0 for successful connections)</doc>
  13202. <type name="gulong" c:type="gulong"/>
  13203. </return-value>
  13204. <parameters>
  13205. <parameter name="instance" transfer-ownership="none">
  13206. <doc xml:space="preserve">the instance to connect to.</doc>
  13207. <type name="Object" c:type="gpointer"/>
  13208. </parameter>
  13209. <parameter name="signal_id" transfer-ownership="none">
  13210. <doc xml:space="preserve">the id of the signal.</doc>
  13211. <type name="guint" c:type="guint"/>
  13212. </parameter>
  13213. <parameter name="detail" transfer-ownership="none">
  13214. <doc xml:space="preserve">the detail.</doc>
  13215. <type name="GLib.Quark" c:type="GQuark"/>
  13216. </parameter>
  13217. <parameter name="closure" transfer-ownership="none">
  13218. <doc xml:space="preserve">the closure to connect.</doc>
  13219. <type name="Closure" c:type="GClosure*"/>
  13220. </parameter>
  13221. <parameter name="after" transfer-ownership="none">
  13222. <doc xml:space="preserve">whether the handler should be called before or after the
  13223. default handler of the signal.</doc>
  13224. <type name="gboolean" c:type="gboolean"/>
  13225. </parameter>
  13226. </parameters>
  13227. </function>
  13228. <function name="signal_connect_data"
  13229. c:identifier="g_signal_connect_data"
  13230. introspectable="0">
  13231. <doc xml:space="preserve">Connects a #GCallback function to a signal for a particular object. Similar
  13232. to g_signal_connect(), but allows to provide a #GClosureNotify for the data
  13233. which will be called when the signal handler is disconnected and no longer
  13234. used. Specify @connect_flags if you need `..._after()` or
  13235. `..._swapped()` variants of this function.</doc>
  13236. <return-value transfer-ownership="none">
  13237. <doc xml:space="preserve">the handler id (always greater than 0 for successful connections)</doc>
  13238. <type name="gulong" c:type="gulong"/>
  13239. </return-value>
  13240. <parameters>
  13241. <parameter name="instance" transfer-ownership="none">
  13242. <doc xml:space="preserve">the instance to connect to.</doc>
  13243. <type name="Object" c:type="gpointer"/>
  13244. </parameter>
  13245. <parameter name="detailed_signal" transfer-ownership="none">
  13246. <doc xml:space="preserve">a string of the form "signal-name::detail".</doc>
  13247. <type name="utf8" c:type="const gchar*"/>
  13248. </parameter>
  13249. <parameter name="c_handler" transfer-ownership="none" closure="3">
  13250. <doc xml:space="preserve">the #GCallback to connect.</doc>
  13251. <type name="Callback" c:type="GCallback"/>
  13252. </parameter>
  13253. <parameter name="data"
  13254. transfer-ownership="none"
  13255. nullable="1"
  13256. allow-none="1">
  13257. <doc xml:space="preserve">data to pass to @c_handler calls.</doc>
  13258. <type name="gpointer" c:type="gpointer"/>
  13259. </parameter>
  13260. <parameter name="destroy_data" transfer-ownership="none">
  13261. <doc xml:space="preserve">a #GClosureNotify for @data.</doc>
  13262. <type name="ClosureNotify" c:type="GClosureNotify"/>
  13263. </parameter>
  13264. <parameter name="connect_flags" transfer-ownership="none">
  13265. <doc xml:space="preserve">a combination of #GConnectFlags.</doc>
  13266. <type name="ConnectFlags" c:type="GConnectFlags"/>
  13267. </parameter>
  13268. </parameters>
  13269. </function>
  13270. <function name="signal_connect_object"
  13271. c:identifier="g_signal_connect_object"
  13272. introspectable="0">
  13273. <doc xml:space="preserve">This is similar to g_signal_connect_data(), but uses a closure which
  13274. ensures that the @gobject stays alive during the call to @c_handler
  13275. by temporarily adding a reference count to @gobject.
  13276. When the @gobject is destroyed the signal handler will be automatically
  13277. disconnected. Note that this is not currently threadsafe (ie:
  13278. emitting a signal while @gobject is being destroyed in another thread
  13279. is not safe).</doc>
  13280. <return-value transfer-ownership="none">
  13281. <doc xml:space="preserve">the handler id.</doc>
  13282. <type name="gulong" c:type="gulong"/>
  13283. </return-value>
  13284. <parameters>
  13285. <parameter name="instance" transfer-ownership="none">
  13286. <doc xml:space="preserve">the instance to connect to.</doc>
  13287. <type name="TypeInstance" c:type="gpointer"/>
  13288. </parameter>
  13289. <parameter name="detailed_signal" transfer-ownership="none">
  13290. <doc xml:space="preserve">a string of the form "signal-name::detail".</doc>
  13291. <type name="utf8" c:type="const gchar*"/>
  13292. </parameter>
  13293. <parameter name="c_handler" transfer-ownership="none">
  13294. <doc xml:space="preserve">the #GCallback to connect.</doc>
  13295. <type name="Callback" c:type="GCallback"/>
  13296. </parameter>
  13297. <parameter name="gobject"
  13298. transfer-ownership="none"
  13299. nullable="1"
  13300. allow-none="1">
  13301. <doc xml:space="preserve">the object to pass as data
  13302. to @c_handler.</doc>
  13303. <type name="Object" c:type="gpointer"/>
  13304. </parameter>
  13305. <parameter name="connect_flags" transfer-ownership="none">
  13306. <doc xml:space="preserve">a combination of #GConnectFlags.</doc>
  13307. <type name="ConnectFlags" c:type="GConnectFlags"/>
  13308. </parameter>
  13309. </parameters>
  13310. </function>
  13311. <function name="signal_emit"
  13312. c:identifier="g_signal_emit"
  13313. introspectable="0">
  13314. <doc xml:space="preserve">Emits a signal.
  13315. Note that g_signal_emit() resets the return value to the default
  13316. if no handlers are connected, in contrast to g_signal_emitv().</doc>
  13317. <return-value transfer-ownership="none">
  13318. <type name="none" c:type="void"/>
  13319. </return-value>
  13320. <parameters>
  13321. <parameter name="instance" transfer-ownership="none">
  13322. <doc xml:space="preserve">the instance the signal is being emitted on.</doc>
  13323. <type name="Object" c:type="gpointer"/>
  13324. </parameter>
  13325. <parameter name="signal_id" transfer-ownership="none">
  13326. <doc xml:space="preserve">the signal id</doc>
  13327. <type name="guint" c:type="guint"/>
  13328. </parameter>
  13329. <parameter name="detail" transfer-ownership="none">
  13330. <doc xml:space="preserve">the detail</doc>
  13331. <type name="GLib.Quark" c:type="GQuark"/>
  13332. </parameter>
  13333. <parameter name="..." transfer-ownership="none">
  13334. <doc xml:space="preserve">parameters to be passed to the signal, followed by a
  13335. location for the return value. If the return type of the signal
  13336. is #G_TYPE_NONE, the return value location can be omitted.</doc>
  13337. <varargs/>
  13338. </parameter>
  13339. </parameters>
  13340. </function>
  13341. <function name="signal_emit_by_name"
  13342. c:identifier="g_signal_emit_by_name"
  13343. introspectable="0">
  13344. <doc xml:space="preserve">Emits a signal.
  13345. Note that g_signal_emit_by_name() resets the return value to the default
  13346. if no handlers are connected, in contrast to g_signal_emitv().</doc>
  13347. <return-value transfer-ownership="none">
  13348. <type name="none" c:type="void"/>
  13349. </return-value>
  13350. <parameters>
  13351. <parameter name="instance" transfer-ownership="none">
  13352. <doc xml:space="preserve">the instance the signal is being emitted on.</doc>
  13353. <type name="Object" c:type="gpointer"/>
  13354. </parameter>
  13355. <parameter name="detailed_signal" transfer-ownership="none">
  13356. <doc xml:space="preserve">a string of the form "signal-name::detail".</doc>
  13357. <type name="utf8" c:type="const gchar*"/>
  13358. </parameter>
  13359. <parameter name="..." transfer-ownership="none">
  13360. <doc xml:space="preserve">parameters to be passed to the signal, followed by a
  13361. location for the return value. If the return type of the signal
  13362. is #G_TYPE_NONE, the return value location can be omitted.</doc>
  13363. <varargs/>
  13364. </parameter>
  13365. </parameters>
  13366. </function>
  13367. <function name="signal_emit_valist"
  13368. c:identifier="g_signal_emit_valist"
  13369. introspectable="0">
  13370. <doc xml:space="preserve">Emits a signal.
  13371. Note that g_signal_emit_valist() resets the return value to the default
  13372. if no handlers are connected, in contrast to g_signal_emitv().</doc>
  13373. <return-value transfer-ownership="none">
  13374. <type name="none" c:type="void"/>
  13375. </return-value>
  13376. <parameters>
  13377. <parameter name="instance" transfer-ownership="none">
  13378. <doc xml:space="preserve">the instance the signal is being
  13379. emitted on.</doc>
  13380. <type name="TypeInstance" c:type="gpointer"/>
  13381. </parameter>
  13382. <parameter name="signal_id" transfer-ownership="none">
  13383. <doc xml:space="preserve">the signal id</doc>
  13384. <type name="guint" c:type="guint"/>
  13385. </parameter>
  13386. <parameter name="detail" transfer-ownership="none">
  13387. <doc xml:space="preserve">the detail</doc>
  13388. <type name="GLib.Quark" c:type="GQuark"/>
  13389. </parameter>
  13390. <parameter name="var_args" transfer-ownership="none">
  13391. <doc xml:space="preserve">a list of parameters to be passed to the signal, followed by a
  13392. location for the return value. If the return type of the signal
  13393. is #G_TYPE_NONE, the return value location can be omitted.</doc>
  13394. <type name="va_list" c:type="va_list"/>
  13395. </parameter>
  13396. </parameters>
  13397. </function>
  13398. <function name="signal_emitv" c:identifier="g_signal_emitv">
  13399. <doc xml:space="preserve">Emits a signal.
  13400. Note that g_signal_emitv() doesn't change @return_value if no handlers are
  13401. connected, in contrast to g_signal_emit() and g_signal_emit_valist().</doc>
  13402. <return-value transfer-ownership="none">
  13403. <type name="none" c:type="void"/>
  13404. </return-value>
  13405. <parameters>
  13406. <parameter name="instance_and_params" transfer-ownership="none">
  13407. <doc xml:space="preserve">argument list for the signal emission.
  13408. The first element in the array is a #GValue for the instance the signal
  13409. is being emitted on. The rest are any arguments to be passed to the signal.</doc>
  13410. <array zero-terminated="0" c:type="GValue*">
  13411. <type name="Value" c:type="GValue"/>
  13412. </array>
  13413. </parameter>
  13414. <parameter name="signal_id" transfer-ownership="none">
  13415. <doc xml:space="preserve">the signal id</doc>
  13416. <type name="guint" c:type="guint"/>
  13417. </parameter>
  13418. <parameter name="detail" transfer-ownership="none">
  13419. <doc xml:space="preserve">the detail</doc>
  13420. <type name="GLib.Quark" c:type="GQuark"/>
  13421. </parameter>
  13422. <parameter name="return_value"
  13423. direction="inout"
  13424. caller-allocates="0"
  13425. transfer-ownership="full">
  13426. <doc xml:space="preserve">Location to
  13427. store the return value of the signal emission. This must be provided if the
  13428. specified signal returns a value, but may be ignored otherwise.</doc>
  13429. <type name="Value" c:type="GValue*"/>
  13430. </parameter>
  13431. </parameters>
  13432. </function>
  13433. <function name="signal_get_invocation_hint"
  13434. c:identifier="g_signal_get_invocation_hint">
  13435. <doc xml:space="preserve">Returns the invocation hint of the innermost signal emission of instance.</doc>
  13436. <return-value transfer-ownership="none">
  13437. <doc xml:space="preserve">the invocation hint of the innermost signal emission.</doc>
  13438. <type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
  13439. </return-value>
  13440. <parameters>
  13441. <parameter name="instance" transfer-ownership="none">
  13442. <doc xml:space="preserve">the instance to query</doc>
  13443. <type name="Object" c:type="gpointer"/>
  13444. </parameter>
  13445. </parameters>
  13446. </function>
  13447. <function name="signal_handler_block"
  13448. c:identifier="g_signal_handler_block">
  13449. <doc xml:space="preserve">Blocks a handler of an instance so it will not be called during any
  13450. signal emissions unless it is unblocked again. Thus "blocking" a
  13451. signal handler means to temporarily deactive it, a signal handler
  13452. has to be unblocked exactly the same amount of times it has been
  13453. blocked before to become active again.
  13454. The @handler_id has to be a valid signal handler id, connected to a
  13455. signal of @instance.</doc>
  13456. <return-value transfer-ownership="none">
  13457. <type name="none" c:type="void"/>
  13458. </return-value>
  13459. <parameters>
  13460. <parameter name="instance" transfer-ownership="none">
  13461. <doc xml:space="preserve">The instance to block the signal handler of.</doc>
  13462. <type name="Object" c:type="gpointer"/>
  13463. </parameter>
  13464. <parameter name="handler_id" transfer-ownership="none">
  13465. <doc xml:space="preserve">Handler id of the handler to be blocked.</doc>
  13466. <type name="gulong" c:type="gulong"/>
  13467. </parameter>
  13468. </parameters>
  13469. </function>
  13470. <function name="signal_handler_disconnect"
  13471. c:identifier="g_signal_handler_disconnect">
  13472. <doc xml:space="preserve">Disconnects a handler from an instance so it will not be called during
  13473. any future or currently ongoing emissions of the signal it has been
  13474. connected to. The @handler_id becomes invalid and may be reused.
  13475. The @handler_id has to be a valid signal handler id, connected to a
  13476. signal of @instance.</doc>
  13477. <return-value transfer-ownership="none">
  13478. <type name="none" c:type="void"/>
  13479. </return-value>
  13480. <parameters>
  13481. <parameter name="instance" transfer-ownership="none">
  13482. <doc xml:space="preserve">The instance to remove the signal handler from.</doc>
  13483. <type name="Object" c:type="gpointer"/>
  13484. </parameter>
  13485. <parameter name="handler_id" transfer-ownership="none">
  13486. <doc xml:space="preserve">Handler id of the handler to be disconnected.</doc>
  13487. <type name="gulong" c:type="gulong"/>
  13488. </parameter>
  13489. </parameters>
  13490. </function>
  13491. <function name="signal_handler_find" c:identifier="g_signal_handler_find">
  13492. <doc xml:space="preserve">Finds the first signal handler that matches certain selection criteria.
  13493. The criteria mask is passed as an OR-ed combination of #GSignalMatchType
  13494. flags, and the criteria values are passed as arguments.
  13495. The match @mask has to be non-0 for successful matches.
  13496. If no handler was found, 0 is returned.</doc>
  13497. <return-value transfer-ownership="none">
  13498. <doc xml:space="preserve">A valid non-0 signal handler id for a successful match.</doc>
  13499. <type name="gulong" c:type="gulong"/>
  13500. </return-value>
  13501. <parameters>
  13502. <parameter name="instance" transfer-ownership="none">
  13503. <doc xml:space="preserve">The instance owning the signal handler to be found.</doc>
  13504. <type name="Object" c:type="gpointer"/>
  13505. </parameter>
  13506. <parameter name="mask" transfer-ownership="none">
  13507. <doc xml:space="preserve">Mask indicating which of @signal_id, @detail, @closure, @func
  13508. and/or @data the handler has to match.</doc>
  13509. <type name="SignalMatchType" c:type="GSignalMatchType"/>
  13510. </parameter>
  13511. <parameter name="signal_id" transfer-ownership="none">
  13512. <doc xml:space="preserve">Signal the handler has to be connected to.</doc>
  13513. <type name="guint" c:type="guint"/>
  13514. </parameter>
  13515. <parameter name="detail" transfer-ownership="none">
  13516. <doc xml:space="preserve">Signal detail the handler has to be connected to.</doc>
  13517. <type name="GLib.Quark" c:type="GQuark"/>
  13518. </parameter>
  13519. <parameter name="closure"
  13520. transfer-ownership="none"
  13521. nullable="1"
  13522. allow-none="1">
  13523. <doc xml:space="preserve">The closure the handler will invoke.</doc>
  13524. <type name="Closure" c:type="GClosure*"/>
  13525. </parameter>
  13526. <parameter name="func"
  13527. transfer-ownership="none"
  13528. nullable="1"
  13529. allow-none="1">
  13530. <doc xml:space="preserve">The C closure callback of the handler (useless for non-C closures).</doc>
  13531. <type name="gpointer" c:type="gpointer"/>
  13532. </parameter>
  13533. <parameter name="data"
  13534. transfer-ownership="none"
  13535. nullable="1"
  13536. allow-none="1">
  13537. <doc xml:space="preserve">The closure data of the handler's closure.</doc>
  13538. <type name="gpointer" c:type="gpointer"/>
  13539. </parameter>
  13540. </parameters>
  13541. </function>
  13542. <function name="signal_handler_is_connected"
  13543. c:identifier="g_signal_handler_is_connected">
  13544. <doc xml:space="preserve">Returns whether @handler_id is the id of a handler connected to @instance.</doc>
  13545. <return-value transfer-ownership="none">
  13546. <doc xml:space="preserve">whether @handler_id identifies a handler connected to @instance.</doc>
  13547. <type name="gboolean" c:type="gboolean"/>
  13548. </return-value>
  13549. <parameters>
  13550. <parameter name="instance" transfer-ownership="none">
  13551. <doc xml:space="preserve">The instance where a signal handler is sought.</doc>
  13552. <type name="Object" c:type="gpointer"/>
  13553. </parameter>
  13554. <parameter name="handler_id" transfer-ownership="none">
  13555. <doc xml:space="preserve">the handler id.</doc>
  13556. <type name="gulong" c:type="gulong"/>
  13557. </parameter>
  13558. </parameters>
  13559. </function>
  13560. <function name="signal_handler_unblock"
  13561. c:identifier="g_signal_handler_unblock">
  13562. <doc xml:space="preserve">Undoes the effect of a previous g_signal_handler_block() call. A
  13563. blocked handler is skipped during signal emissions and will not be
  13564. invoked, unblocking it (for exactly the amount of times it has been
  13565. blocked before) reverts its "blocked" state, so the handler will be
  13566. recognized by the signal system and is called upon future or
  13567. currently ongoing signal emissions (since the order in which
  13568. handlers are called during signal emissions is deterministic,
  13569. whether the unblocked handler in question is called as part of a
  13570. currently ongoing emission depends on how far that emission has
  13571. proceeded yet).
  13572. The @handler_id has to be a valid id of a signal handler that is
  13573. connected to a signal of @instance and is currently blocked.</doc>
  13574. <return-value transfer-ownership="none">
  13575. <type name="none" c:type="void"/>
  13576. </return-value>
  13577. <parameters>
  13578. <parameter name="instance" transfer-ownership="none">
  13579. <doc xml:space="preserve">The instance to unblock the signal handler of.</doc>
  13580. <type name="Object" c:type="gpointer"/>
  13581. </parameter>
  13582. <parameter name="handler_id" transfer-ownership="none">
  13583. <doc xml:space="preserve">Handler id of the handler to be unblocked.</doc>
  13584. <type name="gulong" c:type="gulong"/>
  13585. </parameter>
  13586. </parameters>
  13587. </function>
  13588. <function name="signal_handlers_block_matched"
  13589. c:identifier="g_signal_handlers_block_matched">
  13590. <doc xml:space="preserve">Blocks all handlers on an instance that match a certain selection criteria.
  13591. The criteria mask is passed as an OR-ed combination of #GSignalMatchType
  13592. flags, and the criteria values are passed as arguments.
  13593. Passing at least one of the %G_SIGNAL_MATCH_CLOSURE, %G_SIGNAL_MATCH_FUNC
  13594. or %G_SIGNAL_MATCH_DATA match flags is required for successful matches.
  13595. If no handlers were found, 0 is returned, the number of blocked handlers
  13596. otherwise.</doc>
  13597. <return-value transfer-ownership="none">
  13598. <doc xml:space="preserve">The number of handlers that matched.</doc>
  13599. <type name="guint" c:type="guint"/>
  13600. </return-value>
  13601. <parameters>
  13602. <parameter name="instance" transfer-ownership="none">
  13603. <doc xml:space="preserve">The instance to block handlers from.</doc>
  13604. <type name="Object" c:type="gpointer"/>
  13605. </parameter>
  13606. <parameter name="mask" transfer-ownership="none">
  13607. <doc xml:space="preserve">Mask indicating which of @signal_id, @detail, @closure, @func
  13608. and/or @data the handlers have to match.</doc>
  13609. <type name="SignalMatchType" c:type="GSignalMatchType"/>
  13610. </parameter>
  13611. <parameter name="signal_id" transfer-ownership="none">
  13612. <doc xml:space="preserve">Signal the handlers have to be connected to.</doc>
  13613. <type name="guint" c:type="guint"/>
  13614. </parameter>
  13615. <parameter name="detail" transfer-ownership="none">
  13616. <doc xml:space="preserve">Signal detail the handlers have to be connected to.</doc>
  13617. <type name="GLib.Quark" c:type="GQuark"/>
  13618. </parameter>
  13619. <parameter name="closure"
  13620. transfer-ownership="none"
  13621. nullable="1"
  13622. allow-none="1">
  13623. <doc xml:space="preserve">The closure the handlers will invoke.</doc>
  13624. <type name="Closure" c:type="GClosure*"/>
  13625. </parameter>
  13626. <parameter name="func"
  13627. transfer-ownership="none"
  13628. nullable="1"
  13629. allow-none="1">
  13630. <doc xml:space="preserve">The C closure callback of the handlers (useless for non-C closures).</doc>
  13631. <type name="gpointer" c:type="gpointer"/>
  13632. </parameter>
  13633. <parameter name="data"
  13634. transfer-ownership="none"
  13635. nullable="1"
  13636. allow-none="1">
  13637. <doc xml:space="preserve">The closure data of the handlers' closures.</doc>
  13638. <type name="gpointer" c:type="gpointer"/>
  13639. </parameter>
  13640. </parameters>
  13641. </function>
  13642. <function name="signal_handlers_destroy"
  13643. c:identifier="g_signal_handlers_destroy">
  13644. <doc xml:space="preserve">Destroy all signal handlers of a type instance. This function is
  13645. an implementation detail of the #GObject dispose implementation,
  13646. and should not be used outside of the type system.</doc>
  13647. <return-value transfer-ownership="none">
  13648. <type name="none" c:type="void"/>
  13649. </return-value>
  13650. <parameters>
  13651. <parameter name="instance" transfer-ownership="none">
  13652. <doc xml:space="preserve">The instance whose signal handlers are destroyed</doc>
  13653. <type name="Object" c:type="gpointer"/>
  13654. </parameter>
  13655. </parameters>
  13656. </function>
  13657. <function name="signal_handlers_disconnect_matched"
  13658. c:identifier="g_signal_handlers_disconnect_matched">
  13659. <doc xml:space="preserve">Disconnects all handlers on an instance that match a certain
  13660. selection criteria. The criteria mask is passed as an OR-ed
  13661. combination of #GSignalMatchType flags, and the criteria values are
  13662. passed as arguments. Passing at least one of the
  13663. %G_SIGNAL_MATCH_CLOSURE, %G_SIGNAL_MATCH_FUNC or
  13664. %G_SIGNAL_MATCH_DATA match flags is required for successful
  13665. matches. If no handlers were found, 0 is returned, the number of
  13666. disconnected handlers otherwise.</doc>
  13667. <return-value transfer-ownership="none">
  13668. <doc xml:space="preserve">The number of handlers that matched.</doc>
  13669. <type name="guint" c:type="guint"/>
  13670. </return-value>
  13671. <parameters>
  13672. <parameter name="instance" transfer-ownership="none">
  13673. <doc xml:space="preserve">The instance to remove handlers from.</doc>
  13674. <type name="Object" c:type="gpointer"/>
  13675. </parameter>
  13676. <parameter name="mask" transfer-ownership="none">
  13677. <doc xml:space="preserve">Mask indicating which of @signal_id, @detail, @closure, @func
  13678. and/or @data the handlers have to match.</doc>
  13679. <type name="SignalMatchType" c:type="GSignalMatchType"/>
  13680. </parameter>
  13681. <parameter name="signal_id" transfer-ownership="none">
  13682. <doc xml:space="preserve">Signal the handlers have to be connected to.</doc>
  13683. <type name="guint" c:type="guint"/>
  13684. </parameter>
  13685. <parameter name="detail" transfer-ownership="none">
  13686. <doc xml:space="preserve">Signal detail the handlers have to be connected to.</doc>
  13687. <type name="GLib.Quark" c:type="GQuark"/>
  13688. </parameter>
  13689. <parameter name="closure"
  13690. transfer-ownership="none"
  13691. nullable="1"
  13692. allow-none="1">
  13693. <doc xml:space="preserve">The closure the handlers will invoke.</doc>
  13694. <type name="Closure" c:type="GClosure*"/>
  13695. </parameter>
  13696. <parameter name="func"
  13697. transfer-ownership="none"
  13698. nullable="1"
  13699. allow-none="1">
  13700. <doc xml:space="preserve">The C closure callback of the handlers (useless for non-C closures).</doc>
  13701. <type name="gpointer" c:type="gpointer"/>
  13702. </parameter>
  13703. <parameter name="data"
  13704. transfer-ownership="none"
  13705. nullable="1"
  13706. allow-none="1">
  13707. <doc xml:space="preserve">The closure data of the handlers' closures.</doc>
  13708. <type name="gpointer" c:type="gpointer"/>
  13709. </parameter>
  13710. </parameters>
  13711. </function>
  13712. <function name="signal_handlers_unblock_matched"
  13713. c:identifier="g_signal_handlers_unblock_matched">
  13714. <doc xml:space="preserve">Unblocks all handlers on an instance that match a certain selection
  13715. criteria. The criteria mask is passed as an OR-ed combination of
  13716. #GSignalMatchType flags, and the criteria values are passed as arguments.
  13717. Passing at least one of the %G_SIGNAL_MATCH_CLOSURE, %G_SIGNAL_MATCH_FUNC
  13718. or %G_SIGNAL_MATCH_DATA match flags is required for successful matches.
  13719. If no handlers were found, 0 is returned, the number of unblocked handlers
  13720. otherwise. The match criteria should not apply to any handlers that are
  13721. not currently blocked.</doc>
  13722. <return-value transfer-ownership="none">
  13723. <doc xml:space="preserve">The number of handlers that matched.</doc>
  13724. <type name="guint" c:type="guint"/>
  13725. </return-value>
  13726. <parameters>
  13727. <parameter name="instance" transfer-ownership="none">
  13728. <doc xml:space="preserve">The instance to unblock handlers from.</doc>
  13729. <type name="Object" c:type="gpointer"/>
  13730. </parameter>
  13731. <parameter name="mask" transfer-ownership="none">
  13732. <doc xml:space="preserve">Mask indicating which of @signal_id, @detail, @closure, @func
  13733. and/or @data the handlers have to match.</doc>
  13734. <type name="SignalMatchType" c:type="GSignalMatchType"/>
  13735. </parameter>
  13736. <parameter name="signal_id" transfer-ownership="none">
  13737. <doc xml:space="preserve">Signal the handlers have to be connected to.</doc>
  13738. <type name="guint" c:type="guint"/>
  13739. </parameter>
  13740. <parameter name="detail" transfer-ownership="none">
  13741. <doc xml:space="preserve">Signal detail the handlers have to be connected to.</doc>
  13742. <type name="GLib.Quark" c:type="GQuark"/>
  13743. </parameter>
  13744. <parameter name="closure"
  13745. transfer-ownership="none"
  13746. nullable="1"
  13747. allow-none="1">
  13748. <doc xml:space="preserve">The closure the handlers will invoke.</doc>
  13749. <type name="Closure" c:type="GClosure*"/>
  13750. </parameter>
  13751. <parameter name="func"
  13752. transfer-ownership="none"
  13753. nullable="1"
  13754. allow-none="1">
  13755. <doc xml:space="preserve">The C closure callback of the handlers (useless for non-C closures).</doc>
  13756. <type name="gpointer" c:type="gpointer"/>
  13757. </parameter>
  13758. <parameter name="data"
  13759. transfer-ownership="none"
  13760. nullable="1"
  13761. allow-none="1">
  13762. <doc xml:space="preserve">The closure data of the handlers' closures.</doc>
  13763. <type name="gpointer" c:type="gpointer"/>
  13764. </parameter>
  13765. </parameters>
  13766. </function>
  13767. <function name="signal_has_handler_pending"
  13768. c:identifier="g_signal_has_handler_pending">
  13769. <doc xml:space="preserve">Returns whether there are any handlers connected to @instance for the
  13770. given signal id and detail.
  13771. If @detail is 0 then it will only match handlers that were connected
  13772. without detail. If @detail is non-zero then it will match handlers
  13773. connected both without detail and with the given detail. This is
  13774. consistent with how a signal emitted with @detail would be delivered
  13775. to those handlers.
  13776. Since 2.46 this also checks for a non-default class closure being
  13777. installed, as this is basically always what you want.
  13778. One example of when you might use this is when the arguments to the
  13779. signal are difficult to compute. A class implementor may opt to not
  13780. emit the signal if no one is attached anyway, thus saving the cost
  13781. of building the arguments.</doc>
  13782. <return-value transfer-ownership="none">
  13783. <doc xml:space="preserve">%TRUE if a handler is connected to the signal, %FALSE
  13784. otherwise.</doc>
  13785. <type name="gboolean" c:type="gboolean"/>
  13786. </return-value>
  13787. <parameters>
  13788. <parameter name="instance" transfer-ownership="none">
  13789. <doc xml:space="preserve">the object whose signal handlers are sought.</doc>
  13790. <type name="Object" c:type="gpointer"/>
  13791. </parameter>
  13792. <parameter name="signal_id" transfer-ownership="none">
  13793. <doc xml:space="preserve">the signal id.</doc>
  13794. <type name="guint" c:type="guint"/>
  13795. </parameter>
  13796. <parameter name="detail" transfer-ownership="none">
  13797. <doc xml:space="preserve">the detail.</doc>
  13798. <type name="GLib.Quark" c:type="GQuark"/>
  13799. </parameter>
  13800. <parameter name="may_be_blocked" transfer-ownership="none">
  13801. <doc xml:space="preserve">whether blocked handlers should count as match.</doc>
  13802. <type name="gboolean" c:type="gboolean"/>
  13803. </parameter>
  13804. </parameters>
  13805. </function>
  13806. <function name="signal_list_ids" c:identifier="g_signal_list_ids">
  13807. <doc xml:space="preserve">Lists the signals by id that a certain instance or interface type
  13808. created. Further information about the signals can be acquired through
  13809. g_signal_query().</doc>
  13810. <return-value transfer-ownership="full">
  13811. <doc xml:space="preserve">Newly allocated array of signal IDs.</doc>
  13812. <array length="1" zero-terminated="0" c:type="guint*">
  13813. <type name="guint" c:type="guint"/>
  13814. </array>
  13815. </return-value>
  13816. <parameters>
  13817. <parameter name="itype" transfer-ownership="none">
  13818. <doc xml:space="preserve">Instance or interface type.</doc>
  13819. <type name="GType" c:type="GType"/>
  13820. </parameter>
  13821. <parameter name="n_ids"
  13822. direction="out"
  13823. caller-allocates="0"
  13824. transfer-ownership="full">
  13825. <doc xml:space="preserve">Location to store the number of signal ids for @itype.</doc>
  13826. <type name="guint" c:type="guint*"/>
  13827. </parameter>
  13828. </parameters>
  13829. </function>
  13830. <function name="signal_lookup" c:identifier="g_signal_lookup">
  13831. <doc xml:space="preserve">Given the name of the signal and the type of object it connects to, gets
  13832. the signal's identifying integer. Emitting the signal by number is
  13833. somewhat faster than using the name each time.
  13834. Also tries the ancestors of the given type.
  13835. See g_signal_new() for details on allowed signal names.</doc>
  13836. <return-value transfer-ownership="none">
  13837. <doc xml:space="preserve">the signal's identifying number, or 0 if no signal was found.</doc>
  13838. <type name="guint" c:type="guint"/>
  13839. </return-value>
  13840. <parameters>
  13841. <parameter name="name" transfer-ownership="none">
  13842. <doc xml:space="preserve">the signal's name.</doc>
  13843. <type name="utf8" c:type="const gchar*"/>
  13844. </parameter>
  13845. <parameter name="itype" transfer-ownership="none">
  13846. <doc xml:space="preserve">the type that the signal operates on.</doc>
  13847. <type name="GType" c:type="GType"/>
  13848. </parameter>
  13849. </parameters>
  13850. </function>
  13851. <function name="signal_name" c:identifier="g_signal_name">
  13852. <doc xml:space="preserve">Given the signal's identifier, finds its name.
  13853. Two different signals may have the same name, if they have differing types.</doc>
  13854. <return-value transfer-ownership="none">
  13855. <doc xml:space="preserve">the signal name, or %NULL if the signal number was invalid.</doc>
  13856. <type name="utf8" c:type="const gchar*"/>
  13857. </return-value>
  13858. <parameters>
  13859. <parameter name="signal_id" transfer-ownership="none">
  13860. <doc xml:space="preserve">the signal's identifying number.</doc>
  13861. <type name="guint" c:type="guint"/>
  13862. </parameter>
  13863. </parameters>
  13864. </function>
  13865. <function name="signal_new" c:identifier="g_signal_new" introspectable="0">
  13866. <doc xml:space="preserve">Creates a new signal. (This is usually done in the class initializer.)
  13867. A signal name consists of segments consisting of ASCII letters and
  13868. digits, separated by either the '-' or '_' character. The first
  13869. character of a signal name must be a letter. Names which violate these
  13870. rules lead to undefined behaviour of the GSignal system.
  13871. When registering a signal and looking up a signal, either separator can
  13872. be used, but they cannot be mixed.
  13873. If 0 is used for @class_offset subclasses cannot override the class handler
  13874. in their class_init method by doing super_class-&gt;signal_handler = my_signal_handler.
  13875. Instead they will have to use g_signal_override_class_handler().
  13876. If c_marshaller is %NULL, g_cclosure_marshal_generic() will be used as
  13877. the marshaller for this signal.</doc>
  13878. <return-value transfer-ownership="none">
  13879. <doc xml:space="preserve">the signal id</doc>
  13880. <type name="guint" c:type="guint"/>
  13881. </return-value>
  13882. <parameters>
  13883. <parameter name="signal_name" transfer-ownership="none">
  13884. <doc xml:space="preserve">the name for the signal</doc>
  13885. <type name="utf8" c:type="const gchar*"/>
  13886. </parameter>
  13887. <parameter name="itype" transfer-ownership="none">
  13888. <doc xml:space="preserve">the type this signal pertains to. It will also pertain to
  13889. types which are derived from this type.</doc>
  13890. <type name="GType" c:type="GType"/>
  13891. </parameter>
  13892. <parameter name="signal_flags" transfer-ownership="none">
  13893. <doc xml:space="preserve">a combination of #GSignalFlags specifying detail of when
  13894. the default handler is to be invoked. You should at least specify
  13895. %G_SIGNAL_RUN_FIRST or %G_SIGNAL_RUN_LAST.</doc>
  13896. <type name="SignalFlags" c:type="GSignalFlags"/>
  13897. </parameter>
  13898. <parameter name="class_offset" transfer-ownership="none">
  13899. <doc xml:space="preserve">The offset of the function pointer in the class structure
  13900. for this type. Used to invoke a class method generically. Pass 0 to
  13901. not associate a class method slot with this signal.</doc>
  13902. <type name="guint" c:type="guint"/>
  13903. </parameter>
  13904. <parameter name="accumulator" transfer-ownership="none" closure="5">
  13905. <doc xml:space="preserve">the accumulator for this signal; may be %NULL.</doc>
  13906. <type name="SignalAccumulator" c:type="GSignalAccumulator"/>
  13907. </parameter>
  13908. <parameter name="accu_data"
  13909. transfer-ownership="none"
  13910. nullable="1"
  13911. allow-none="1">
  13912. <doc xml:space="preserve">user data for the @accumulator.</doc>
  13913. <type name="gpointer" c:type="gpointer"/>
  13914. </parameter>
  13915. <parameter name="c_marshaller"
  13916. transfer-ownership="none"
  13917. nullable="1"
  13918. allow-none="1">
  13919. <doc xml:space="preserve">the function to translate arrays of parameter
  13920. values to signal emissions into C language callback invocations or %NULL.</doc>
  13921. <type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
  13922. </parameter>
  13923. <parameter name="return_type" transfer-ownership="none">
  13924. <doc xml:space="preserve">the type of return value, or #G_TYPE_NONE for a signal
  13925. without a return value.</doc>
  13926. <type name="GType" c:type="GType"/>
  13927. </parameter>
  13928. <parameter name="n_params" transfer-ownership="none">
  13929. <doc xml:space="preserve">the number of parameter types to follow.</doc>
  13930. <type name="guint" c:type="guint"/>
  13931. </parameter>
  13932. <parameter name="..." transfer-ownership="none">
  13933. <doc xml:space="preserve">a list of types, one for each parameter.</doc>
  13934. <varargs/>
  13935. </parameter>
  13936. </parameters>
  13937. </function>
  13938. <function name="signal_new_class_handler"
  13939. c:identifier="g_signal_new_class_handler"
  13940. version="2.18"
  13941. introspectable="0">
  13942. <doc xml:space="preserve">Creates a new signal. (This is usually done in the class initializer.)
  13943. This is a variant of g_signal_new() that takes a C callback instead
  13944. off a class offset for the signal's class handler. This function
  13945. doesn't need a function pointer exposed in the class structure of
  13946. an object definition, instead the function pointer is passed
  13947. directly and can be overriden by derived classes with
  13948. g_signal_override_class_closure() or
  13949. g_signal_override_class_handler()and chained to with
  13950. g_signal_chain_from_overridden() or
  13951. g_signal_chain_from_overridden_handler().
  13952. See g_signal_new() for information about signal names.
  13953. If c_marshaller is %NULL, g_cclosure_marshal_generic() will be used as
  13954. the marshaller for this signal.</doc>
  13955. <return-value transfer-ownership="none">
  13956. <doc xml:space="preserve">the signal id</doc>
  13957. <type name="guint" c:type="guint"/>
  13958. </return-value>
  13959. <parameters>
  13960. <parameter name="signal_name" transfer-ownership="none">
  13961. <doc xml:space="preserve">the name for the signal</doc>
  13962. <type name="utf8" c:type="const gchar*"/>
  13963. </parameter>
  13964. <parameter name="itype" transfer-ownership="none">
  13965. <doc xml:space="preserve">the type this signal pertains to. It will also pertain to
  13966. types which are derived from this type.</doc>
  13967. <type name="GType" c:type="GType"/>
  13968. </parameter>
  13969. <parameter name="signal_flags" transfer-ownership="none">
  13970. <doc xml:space="preserve">a combination of #GSignalFlags specifying detail of when
  13971. the default handler is to be invoked. You should at least specify
  13972. %G_SIGNAL_RUN_FIRST or %G_SIGNAL_RUN_LAST.</doc>
  13973. <type name="SignalFlags" c:type="GSignalFlags"/>
  13974. </parameter>
  13975. <parameter name="class_handler" transfer-ownership="none">
  13976. <doc xml:space="preserve">a #GCallback which acts as class implementation of
  13977. this signal. Used to invoke a class method generically. Pass %NULL to
  13978. not associate a class method with this signal.</doc>
  13979. <type name="Callback" c:type="GCallback"/>
  13980. </parameter>
  13981. <parameter name="accumulator" transfer-ownership="none" closure="5">
  13982. <doc xml:space="preserve">the accumulator for this signal; may be %NULL.</doc>
  13983. <type name="SignalAccumulator" c:type="GSignalAccumulator"/>
  13984. </parameter>
  13985. <parameter name="accu_data"
  13986. transfer-ownership="none"
  13987. nullable="1"
  13988. allow-none="1">
  13989. <doc xml:space="preserve">user data for the @accumulator.</doc>
  13990. <type name="gpointer" c:type="gpointer"/>
  13991. </parameter>
  13992. <parameter name="c_marshaller"
  13993. transfer-ownership="none"
  13994. nullable="1"
  13995. allow-none="1">
  13996. <doc xml:space="preserve">the function to translate arrays of parameter
  13997. values to signal emissions into C language callback invocations or %NULL.</doc>
  13998. <type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
  13999. </parameter>
  14000. <parameter name="return_type" transfer-ownership="none">
  14001. <doc xml:space="preserve">the type of return value, or #G_TYPE_NONE for a signal
  14002. without a return value.</doc>
  14003. <type name="GType" c:type="GType"/>
  14004. </parameter>
  14005. <parameter name="n_params" transfer-ownership="none">
  14006. <doc xml:space="preserve">the number of parameter types to follow.</doc>
  14007. <type name="guint" c:type="guint"/>
  14008. </parameter>
  14009. <parameter name="..." transfer-ownership="none">
  14010. <doc xml:space="preserve">a list of types, one for each parameter.</doc>
  14011. <varargs/>
  14012. </parameter>
  14013. </parameters>
  14014. </function>
  14015. <function name="signal_new_valist"
  14016. c:identifier="g_signal_new_valist"
  14017. introspectable="0">
  14018. <doc xml:space="preserve">Creates a new signal. (This is usually done in the class initializer.)
  14019. See g_signal_new() for details on allowed signal names.
  14020. If c_marshaller is %NULL, g_cclosure_marshal_generic() will be used as
  14021. the marshaller for this signal.</doc>
  14022. <return-value transfer-ownership="none">
  14023. <doc xml:space="preserve">the signal id</doc>
  14024. <type name="guint" c:type="guint"/>
  14025. </return-value>
  14026. <parameters>
  14027. <parameter name="signal_name" transfer-ownership="none">
  14028. <doc xml:space="preserve">the name for the signal</doc>
  14029. <type name="utf8" c:type="const gchar*"/>
  14030. </parameter>
  14031. <parameter name="itype" transfer-ownership="none">
  14032. <doc xml:space="preserve">the type this signal pertains to. It will also pertain to
  14033. types which are derived from this type.</doc>
  14034. <type name="GType" c:type="GType"/>
  14035. </parameter>
  14036. <parameter name="signal_flags" transfer-ownership="none">
  14037. <doc xml:space="preserve">a combination of #GSignalFlags specifying detail of when
  14038. the default handler is to be invoked. You should at least specify
  14039. %G_SIGNAL_RUN_FIRST or %G_SIGNAL_RUN_LAST.</doc>
  14040. <type name="SignalFlags" c:type="GSignalFlags"/>
  14041. </parameter>
  14042. <parameter name="class_closure" transfer-ownership="none">
  14043. <doc xml:space="preserve">The closure to invoke on signal emission; may be %NULL.</doc>
  14044. <type name="Closure" c:type="GClosure*"/>
  14045. </parameter>
  14046. <parameter name="accumulator" transfer-ownership="none" closure="5">
  14047. <doc xml:space="preserve">the accumulator for this signal; may be %NULL.</doc>
  14048. <type name="SignalAccumulator" c:type="GSignalAccumulator"/>
  14049. </parameter>
  14050. <parameter name="accu_data"
  14051. transfer-ownership="none"
  14052. nullable="1"
  14053. allow-none="1">
  14054. <doc xml:space="preserve">user data for the @accumulator.</doc>
  14055. <type name="gpointer" c:type="gpointer"/>
  14056. </parameter>
  14057. <parameter name="c_marshaller"
  14058. transfer-ownership="none"
  14059. nullable="1"
  14060. allow-none="1">
  14061. <doc xml:space="preserve">the function to translate arrays of parameter
  14062. values to signal emissions into C language callback invocations or %NULL.</doc>
  14063. <type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
  14064. </parameter>
  14065. <parameter name="return_type" transfer-ownership="none">
  14066. <doc xml:space="preserve">the type of return value, or #G_TYPE_NONE for a signal
  14067. without a return value.</doc>
  14068. <type name="GType" c:type="GType"/>
  14069. </parameter>
  14070. <parameter name="n_params" transfer-ownership="none">
  14071. <doc xml:space="preserve">the number of parameter types in @args.</doc>
  14072. <type name="guint" c:type="guint"/>
  14073. </parameter>
  14074. <parameter name="args" transfer-ownership="none">
  14075. <doc xml:space="preserve">va_list of #GType, one for each parameter.</doc>
  14076. <type name="va_list" c:type="va_list"/>
  14077. </parameter>
  14078. </parameters>
  14079. </function>
  14080. <function name="signal_newv"
  14081. c:identifier="g_signal_newv"
  14082. introspectable="0">
  14083. <doc xml:space="preserve">Creates a new signal. (This is usually done in the class initializer.)
  14084. See g_signal_new() for details on allowed signal names.
  14085. If c_marshaller is %NULL, g_cclosure_marshal_generic() will be used as
  14086. the marshaller for this signal.</doc>
  14087. <return-value transfer-ownership="none">
  14088. <doc xml:space="preserve">the signal id</doc>
  14089. <type name="guint" c:type="guint"/>
  14090. </return-value>
  14091. <parameters>
  14092. <parameter name="signal_name" transfer-ownership="none">
  14093. <doc xml:space="preserve">the name for the signal</doc>
  14094. <type name="utf8" c:type="const gchar*"/>
  14095. </parameter>
  14096. <parameter name="itype" transfer-ownership="none">
  14097. <doc xml:space="preserve">the type this signal pertains to. It will also pertain to
  14098. types which are derived from this type</doc>
  14099. <type name="GType" c:type="GType"/>
  14100. </parameter>
  14101. <parameter name="signal_flags" transfer-ownership="none">
  14102. <doc xml:space="preserve">a combination of #GSignalFlags specifying detail of when
  14103. the default handler is to be invoked. You should at least specify
  14104. %G_SIGNAL_RUN_FIRST or %G_SIGNAL_RUN_LAST</doc>
  14105. <type name="SignalFlags" c:type="GSignalFlags"/>
  14106. </parameter>
  14107. <parameter name="class_closure"
  14108. transfer-ownership="none"
  14109. nullable="1"
  14110. allow-none="1">
  14111. <doc xml:space="preserve">The closure to invoke on signal emission;
  14112. may be %NULL</doc>
  14113. <type name="Closure" c:type="GClosure*"/>
  14114. </parameter>
  14115. <parameter name="accumulator"
  14116. transfer-ownership="none"
  14117. nullable="1"
  14118. allow-none="1"
  14119. closure="5">
  14120. <doc xml:space="preserve">the accumulator for this signal; may be %NULL</doc>
  14121. <type name="SignalAccumulator" c:type="GSignalAccumulator"/>
  14122. </parameter>
  14123. <parameter name="accu_data"
  14124. transfer-ownership="none"
  14125. nullable="1"
  14126. allow-none="1">
  14127. <doc xml:space="preserve">user data for the @accumulator</doc>
  14128. <type name="gpointer" c:type="gpointer"/>
  14129. </parameter>
  14130. <parameter name="c_marshaller"
  14131. transfer-ownership="none"
  14132. nullable="1"
  14133. allow-none="1">
  14134. <doc xml:space="preserve">the function to translate arrays of
  14135. parameter values to signal emissions into C language callback
  14136. invocations or %NULL</doc>
  14137. <type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
  14138. </parameter>
  14139. <parameter name="return_type" transfer-ownership="none">
  14140. <doc xml:space="preserve">the type of return value, or #G_TYPE_NONE for a signal
  14141. without a return value</doc>
  14142. <type name="GType" c:type="GType"/>
  14143. </parameter>
  14144. <parameter name="n_params" transfer-ownership="none">
  14145. <doc xml:space="preserve">the length of @param_types</doc>
  14146. <type name="guint" c:type="guint"/>
  14147. </parameter>
  14148. <parameter name="param_types" transfer-ownership="none">
  14149. <doc xml:space="preserve">an array of types, one for
  14150. each parameter</doc>
  14151. <array length="8" zero-terminated="0" c:type="GType*">
  14152. <type name="GType" c:type="GType"/>
  14153. </array>
  14154. </parameter>
  14155. </parameters>
  14156. </function>
  14157. <function name="signal_override_class_closure"
  14158. c:identifier="g_signal_override_class_closure">
  14159. <doc xml:space="preserve">Overrides the class closure (i.e. the default handler) for the given signal
  14160. for emissions on instances of @instance_type. @instance_type must be derived
  14161. from the type to which the signal belongs.
  14162. See g_signal_chain_from_overridden() and
  14163. g_signal_chain_from_overridden_handler() for how to chain up to the
  14164. parent class closure from inside the overridden one.</doc>
  14165. <return-value transfer-ownership="none">
  14166. <type name="none" c:type="void"/>
  14167. </return-value>
  14168. <parameters>
  14169. <parameter name="signal_id" transfer-ownership="none">
  14170. <doc xml:space="preserve">the signal id</doc>
  14171. <type name="guint" c:type="guint"/>
  14172. </parameter>
  14173. <parameter name="instance_type" transfer-ownership="none">
  14174. <doc xml:space="preserve">the instance type on which to override the class closure
  14175. for the signal.</doc>
  14176. <type name="GType" c:type="GType"/>
  14177. </parameter>
  14178. <parameter name="class_closure" transfer-ownership="none">
  14179. <doc xml:space="preserve">the closure.</doc>
  14180. <type name="Closure" c:type="GClosure*"/>
  14181. </parameter>
  14182. </parameters>
  14183. </function>
  14184. <function name="signal_override_class_handler"
  14185. c:identifier="g_signal_override_class_handler"
  14186. version="2.18"
  14187. introspectable="0">
  14188. <doc xml:space="preserve">Overrides the class closure (i.e. the default handler) for the
  14189. given signal for emissions on instances of @instance_type with
  14190. callback @class_handler. @instance_type must be derived from the
  14191. type to which the signal belongs.
  14192. See g_signal_chain_from_overridden() and
  14193. g_signal_chain_from_overridden_handler() for how to chain up to the
  14194. parent class closure from inside the overridden one.</doc>
  14195. <return-value transfer-ownership="none">
  14196. <type name="none" c:type="void"/>
  14197. </return-value>
  14198. <parameters>
  14199. <parameter name="signal_name" transfer-ownership="none">
  14200. <doc xml:space="preserve">the name for the signal</doc>
  14201. <type name="utf8" c:type="const gchar*"/>
  14202. </parameter>
  14203. <parameter name="instance_type" transfer-ownership="none">
  14204. <doc xml:space="preserve">the instance type on which to override the class handler
  14205. for the signal.</doc>
  14206. <type name="GType" c:type="GType"/>
  14207. </parameter>
  14208. <parameter name="class_handler" transfer-ownership="none">
  14209. <doc xml:space="preserve">the handler.</doc>
  14210. <type name="Callback" c:type="GCallback"/>
  14211. </parameter>
  14212. </parameters>
  14213. </function>
  14214. <function name="signal_parse_name" c:identifier="g_signal_parse_name">
  14215. <doc xml:space="preserve">Internal function to parse a signal name into its @signal_id
  14216. and @detail quark.</doc>
  14217. <return-value transfer-ownership="none">
  14218. <doc xml:space="preserve">Whether the signal name could successfully be parsed and @signal_id_p and @detail_p contain valid return values.</doc>
  14219. <type name="gboolean" c:type="gboolean"/>
  14220. </return-value>
  14221. <parameters>
  14222. <parameter name="detailed_signal" transfer-ownership="none">
  14223. <doc xml:space="preserve">a string of the form "signal-name::detail".</doc>
  14224. <type name="utf8" c:type="const gchar*"/>
  14225. </parameter>
  14226. <parameter name="itype" transfer-ownership="none">
  14227. <doc xml:space="preserve">The interface/instance type that introduced "signal-name".</doc>
  14228. <type name="GType" c:type="GType"/>
  14229. </parameter>
  14230. <parameter name="signal_id_p"
  14231. direction="out"
  14232. caller-allocates="0"
  14233. transfer-ownership="full">
  14234. <doc xml:space="preserve">Location to store the signal id.</doc>
  14235. <type name="guint" c:type="guint*"/>
  14236. </parameter>
  14237. <parameter name="detail_p"
  14238. direction="out"
  14239. caller-allocates="0"
  14240. transfer-ownership="full">
  14241. <doc xml:space="preserve">Location to store the detail quark.</doc>
  14242. <type name="GLib.Quark" c:type="GQuark*"/>
  14243. </parameter>
  14244. <parameter name="force_detail_quark" transfer-ownership="none">
  14245. <doc xml:space="preserve">%TRUE forces creation of a #GQuark for the detail.</doc>
  14246. <type name="gboolean" c:type="gboolean"/>
  14247. </parameter>
  14248. </parameters>
  14249. </function>
  14250. <function name="signal_query" c:identifier="g_signal_query">
  14251. <doc xml:space="preserve">Queries the signal system for in-depth information about a
  14252. specific signal. This function will fill in a user-provided
  14253. structure to hold signal-specific information. If an invalid
  14254. signal id is passed in, the @signal_id member of the #GSignalQuery
  14255. is 0. All members filled into the #GSignalQuery structure should
  14256. be considered constant and have to be left untouched.</doc>
  14257. <return-value transfer-ownership="none">
  14258. <type name="none" c:type="void"/>
  14259. </return-value>
  14260. <parameters>
  14261. <parameter name="signal_id" transfer-ownership="none">
  14262. <doc xml:space="preserve">The signal id of the signal to query information for.</doc>
  14263. <type name="guint" c:type="guint"/>
  14264. </parameter>
  14265. <parameter name="query"
  14266. direction="out"
  14267. caller-allocates="1"
  14268. transfer-ownership="none">
  14269. <doc xml:space="preserve">A user provided structure that is
  14270. filled in with constant values upon success.</doc>
  14271. <type name="SignalQuery" c:type="GSignalQuery*"/>
  14272. </parameter>
  14273. </parameters>
  14274. </function>
  14275. <function name="signal_remove_emission_hook"
  14276. c:identifier="g_signal_remove_emission_hook">
  14277. <doc xml:space="preserve">Deletes an emission hook.</doc>
  14278. <return-value transfer-ownership="none">
  14279. <type name="none" c:type="void"/>
  14280. </return-value>
  14281. <parameters>
  14282. <parameter name="signal_id" transfer-ownership="none">
  14283. <doc xml:space="preserve">the id of the signal</doc>
  14284. <type name="guint" c:type="guint"/>
  14285. </parameter>
  14286. <parameter name="hook_id" transfer-ownership="none">
  14287. <doc xml:space="preserve">the id of the emission hook, as returned by
  14288. g_signal_add_emission_hook()</doc>
  14289. <type name="gulong" c:type="gulong"/>
  14290. </parameter>
  14291. </parameters>
  14292. </function>
  14293. <function name="signal_set_va_marshaller"
  14294. c:identifier="g_signal_set_va_marshaller"
  14295. version="2.32">
  14296. <doc xml:space="preserve">Change the #GSignalCVaMarshaller used for a given signal. This is a
  14297. specialised form of the marshaller that can often be used for the
  14298. common case of a single connected signal handler and avoids the
  14299. overhead of #GValue. Its use is optional.</doc>
  14300. <return-value transfer-ownership="none">
  14301. <type name="none" c:type="void"/>
  14302. </return-value>
  14303. <parameters>
  14304. <parameter name="signal_id" transfer-ownership="none">
  14305. <doc xml:space="preserve">the signal id</doc>
  14306. <type name="guint" c:type="guint"/>
  14307. </parameter>
  14308. <parameter name="instance_type" transfer-ownership="none">
  14309. <doc xml:space="preserve">the instance type on which to set the marshaller.</doc>
  14310. <type name="GType" c:type="GType"/>
  14311. </parameter>
  14312. <parameter name="va_marshaller" transfer-ownership="none">
  14313. <doc xml:space="preserve">the marshaller to set.</doc>
  14314. <type name="SignalCVaMarshaller" c:type="GSignalCVaMarshaller"/>
  14315. </parameter>
  14316. </parameters>
  14317. </function>
  14318. <function name="signal_stop_emission"
  14319. c:identifier="g_signal_stop_emission">
  14320. <doc xml:space="preserve">Stops a signal's current emission.
  14321. This will prevent the default method from running, if the signal was
  14322. %G_SIGNAL_RUN_LAST and you connected normally (i.e. without the "after"
  14323. flag).
  14324. Prints a warning if used on a signal which isn't being emitted.</doc>
  14325. <return-value transfer-ownership="none">
  14326. <type name="none" c:type="void"/>
  14327. </return-value>
  14328. <parameters>
  14329. <parameter name="instance" transfer-ownership="none">
  14330. <doc xml:space="preserve">the object whose signal handlers you wish to stop.</doc>
  14331. <type name="Object" c:type="gpointer"/>
  14332. </parameter>
  14333. <parameter name="signal_id" transfer-ownership="none">
  14334. <doc xml:space="preserve">the signal identifier, as returned by g_signal_lookup().</doc>
  14335. <type name="guint" c:type="guint"/>
  14336. </parameter>
  14337. <parameter name="detail" transfer-ownership="none">
  14338. <doc xml:space="preserve">the detail which the signal was emitted with.</doc>
  14339. <type name="GLib.Quark" c:type="GQuark"/>
  14340. </parameter>
  14341. </parameters>
  14342. </function>
  14343. <function name="signal_stop_emission_by_name"
  14344. c:identifier="g_signal_stop_emission_by_name">
  14345. <doc xml:space="preserve">Stops a signal's current emission.
  14346. This is just like g_signal_stop_emission() except it will look up the
  14347. signal id for you.</doc>
  14348. <return-value transfer-ownership="none">
  14349. <type name="none" c:type="void"/>
  14350. </return-value>
  14351. <parameters>
  14352. <parameter name="instance" transfer-ownership="none">
  14353. <doc xml:space="preserve">the object whose signal handlers you wish to stop.</doc>
  14354. <type name="Object" c:type="gpointer"/>
  14355. </parameter>
  14356. <parameter name="detailed_signal" transfer-ownership="none">
  14357. <doc xml:space="preserve">a string of the form "signal-name::detail".</doc>
  14358. <type name="utf8" c:type="const gchar*"/>
  14359. </parameter>
  14360. </parameters>
  14361. </function>
  14362. <function name="signal_type_cclosure_new"
  14363. c:identifier="g_signal_type_cclosure_new">
  14364. <doc xml:space="preserve">Creates a new closure which invokes the function found at the offset
  14365. @struct_offset in the class structure of the interface or classed type
  14366. identified by @itype.</doc>
  14367. <return-value transfer-ownership="full">
  14368. <doc xml:space="preserve">a new #GCClosure</doc>
  14369. <type name="Closure" c:type="GClosure*"/>
  14370. </return-value>
  14371. <parameters>
  14372. <parameter name="itype" transfer-ownership="none">
  14373. <doc xml:space="preserve">the #GType identifier of an interface or classed type</doc>
  14374. <type name="GType" c:type="GType"/>
  14375. </parameter>
  14376. <parameter name="struct_offset" transfer-ownership="none">
  14377. <doc xml:space="preserve">the offset of the member function of @itype's class
  14378. structure which is to be invoked by the new closure</doc>
  14379. <type name="guint" c:type="guint"/>
  14380. </parameter>
  14381. </parameters>
  14382. </function>
  14383. <function name="source_set_closure" c:identifier="g_source_set_closure">
  14384. <doc xml:space="preserve">Set the callback for a source as a #GClosure.
  14385. If the source is not one of the standard GLib types, the @closure_callback
  14386. and @closure_marshal fields of the #GSourceFuncs structure must have been
  14387. filled in with pointers to appropriate functions.</doc>
  14388. <return-value transfer-ownership="none">
  14389. <type name="none" c:type="void"/>
  14390. </return-value>
  14391. <parameters>
  14392. <parameter name="source" transfer-ownership="none">
  14393. <doc xml:space="preserve">the source</doc>
  14394. <type name="GLib.Source" c:type="GSource*"/>
  14395. </parameter>
  14396. <parameter name="closure" transfer-ownership="none">
  14397. <doc xml:space="preserve">a #GClosure</doc>
  14398. <type name="Closure" c:type="GClosure*"/>
  14399. </parameter>
  14400. </parameters>
  14401. </function>
  14402. <function name="source_set_dummy_callback"
  14403. c:identifier="g_source_set_dummy_callback">
  14404. <doc xml:space="preserve">Sets a dummy callback for @source. The callback will do nothing, and
  14405. if the source expects a #gboolean return value, it will return %TRUE.
  14406. (If the source expects any other type of return value, it will return
  14407. a 0/%NULL value; whatever g_value_init() initializes a #GValue to for
  14408. that type.)
  14409. If the source is not one of the standard GLib types, the
  14410. @closure_callback and @closure_marshal fields of the #GSourceFuncs
  14411. structure must have been filled in with pointers to appropriate
  14412. functions.</doc>
  14413. <return-value transfer-ownership="none">
  14414. <type name="none" c:type="void"/>
  14415. </return-value>
  14416. <parameters>
  14417. <parameter name="source" transfer-ownership="none">
  14418. <doc xml:space="preserve">the source</doc>
  14419. <type name="GLib.Source" c:type="GSource*"/>
  14420. </parameter>
  14421. </parameters>
  14422. </function>
  14423. <function name="strdup_value_contents"
  14424. c:identifier="g_strdup_value_contents">
  14425. <doc xml:space="preserve">Return a newly allocated string, which describes the contents of a
  14426. #GValue. The main purpose of this function is to describe #GValue
  14427. contents for debugging output, the way in which the contents are
  14428. described may change between different GLib versions.</doc>
  14429. <return-value transfer-ownership="full">
  14430. <doc xml:space="preserve">Newly allocated string.</doc>
  14431. <type name="utf8" c:type="gchar*"/>
  14432. </return-value>
  14433. <parameters>
  14434. <parameter name="value" transfer-ownership="none">
  14435. <doc xml:space="preserve">#GValue which contents are to be described.</doc>
  14436. <type name="Value" c:type="const GValue*"/>
  14437. </parameter>
  14438. </parameters>
  14439. </function>
  14440. <function name="type_add_class_cache_func"
  14441. c:identifier="g_type_add_class_cache_func"
  14442. introspectable="0">
  14443. <doc xml:space="preserve">Adds a #GTypeClassCacheFunc to be called before the reference count of a
  14444. class goes from one to zero. This can be used to prevent premature class
  14445. destruction. All installed #GTypeClassCacheFunc functions will be chained
  14446. until one of them returns %TRUE. The functions have to check the class id
  14447. passed in to figure whether they actually want to cache the class of this
  14448. type, since all classes are routed through the same #GTypeClassCacheFunc
  14449. chain.</doc>
  14450. <return-value transfer-ownership="none">
  14451. <type name="none" c:type="void"/>
  14452. </return-value>
  14453. <parameters>
  14454. <parameter name="cache_data"
  14455. transfer-ownership="none"
  14456. nullable="1"
  14457. allow-none="1">
  14458. <doc xml:space="preserve">data to be passed to @cache_func</doc>
  14459. <type name="gpointer" c:type="gpointer"/>
  14460. </parameter>
  14461. <parameter name="cache_func" transfer-ownership="none">
  14462. <doc xml:space="preserve">a #GTypeClassCacheFunc</doc>
  14463. <type name="TypeClassCacheFunc" c:type="GTypeClassCacheFunc"/>
  14464. </parameter>
  14465. </parameters>
  14466. </function>
  14467. <function name="type_add_class_private"
  14468. c:identifier="g_type_add_class_private"
  14469. version="2.24">
  14470. <doc xml:space="preserve">Registers a private class structure for a classed type;
  14471. when the class is allocated, the private structures for
  14472. the class and all of its parent types are allocated
  14473. sequentially in the same memory block as the public
  14474. structures, and are zero-filled.
  14475. This function should be called in the
  14476. type's get_type() function after the type is registered.
  14477. The private structure can be retrieved using the
  14478. G_TYPE_CLASS_GET_PRIVATE() macro.</doc>
  14479. <return-value transfer-ownership="none">
  14480. <type name="none" c:type="void"/>
  14481. </return-value>
  14482. <parameters>
  14483. <parameter name="class_type" transfer-ownership="none">
  14484. <doc xml:space="preserve">GType of an classed type</doc>
  14485. <type name="GType" c:type="GType"/>
  14486. </parameter>
  14487. <parameter name="private_size" transfer-ownership="none">
  14488. <doc xml:space="preserve">size of private structure</doc>
  14489. <type name="gsize" c:type="gsize"/>
  14490. </parameter>
  14491. </parameters>
  14492. </function>
  14493. <function name="type_add_instance_private"
  14494. c:identifier="g_type_add_instance_private">
  14495. <return-value transfer-ownership="none">
  14496. <type name="gint" c:type="gint"/>
  14497. </return-value>
  14498. <parameters>
  14499. <parameter name="class_type" transfer-ownership="none">
  14500. <type name="GType" c:type="GType"/>
  14501. </parameter>
  14502. <parameter name="private_size" transfer-ownership="none">
  14503. <type name="gsize" c:type="gsize"/>
  14504. </parameter>
  14505. </parameters>
  14506. </function>
  14507. <function name="type_add_interface_check"
  14508. c:identifier="g_type_add_interface_check"
  14509. version="2.4"
  14510. introspectable="0">
  14511. <doc xml:space="preserve">Adds a function to be called after an interface vtable is
  14512. initialized for any class (i.e. after the @interface_init
  14513. member of #GInterfaceInfo has been called).
  14514. This function is useful when you want to check an invariant
  14515. that depends on the interfaces of a class. For instance, the
  14516. implementation of #GObject uses this facility to check that an
  14517. object implements all of the properties that are defined on its
  14518. interfaces.</doc>
  14519. <return-value transfer-ownership="none">
  14520. <type name="none" c:type="void"/>
  14521. </return-value>
  14522. <parameters>
  14523. <parameter name="check_data"
  14524. transfer-ownership="none"
  14525. nullable="1"
  14526. allow-none="1">
  14527. <doc xml:space="preserve">data to pass to @check_func</doc>
  14528. <type name="gpointer" c:type="gpointer"/>
  14529. </parameter>
  14530. <parameter name="check_func" transfer-ownership="none">
  14531. <doc xml:space="preserve">function to be called after each interface
  14532. is initialized</doc>
  14533. <type name="TypeInterfaceCheckFunc"
  14534. c:type="GTypeInterfaceCheckFunc"/>
  14535. </parameter>
  14536. </parameters>
  14537. </function>
  14538. <function name="type_add_interface_dynamic"
  14539. c:identifier="g_type_add_interface_dynamic">
  14540. <doc xml:space="preserve">Adds the dynamic @interface_type to @instantiable_type. The information
  14541. contained in the #GTypePlugin structure pointed to by @plugin
  14542. is used to manage the relationship.</doc>
  14543. <return-value transfer-ownership="none">
  14544. <type name="none" c:type="void"/>
  14545. </return-value>
  14546. <parameters>
  14547. <parameter name="instance_type" transfer-ownership="none">
  14548. <doc xml:space="preserve">#GType value of an instantiable type</doc>
  14549. <type name="GType" c:type="GType"/>
  14550. </parameter>
  14551. <parameter name="interface_type" transfer-ownership="none">
  14552. <doc xml:space="preserve">#GType value of an interface type</doc>
  14553. <type name="GType" c:type="GType"/>
  14554. </parameter>
  14555. <parameter name="plugin" transfer-ownership="none">
  14556. <doc xml:space="preserve">#GTypePlugin structure to retrieve the #GInterfaceInfo from</doc>
  14557. <type name="TypePlugin" c:type="GTypePlugin*"/>
  14558. </parameter>
  14559. </parameters>
  14560. </function>
  14561. <function name="type_add_interface_static"
  14562. c:identifier="g_type_add_interface_static">
  14563. <doc xml:space="preserve">Adds the static @interface_type to @instantiable_type.
  14564. The information contained in the #GInterfaceInfo structure
  14565. pointed to by @info is used to manage the relationship.</doc>
  14566. <return-value transfer-ownership="none">
  14567. <type name="none" c:type="void"/>
  14568. </return-value>
  14569. <parameters>
  14570. <parameter name="instance_type" transfer-ownership="none">
  14571. <doc xml:space="preserve">#GType value of an instantiable type</doc>
  14572. <type name="GType" c:type="GType"/>
  14573. </parameter>
  14574. <parameter name="interface_type" transfer-ownership="none">
  14575. <doc xml:space="preserve">#GType value of an interface type</doc>
  14576. <type name="GType" c:type="GType"/>
  14577. </parameter>
  14578. <parameter name="info" transfer-ownership="none">
  14579. <doc xml:space="preserve">#GInterfaceInfo structure for this
  14580. (@instance_type, @interface_type) combination</doc>
  14581. <type name="InterfaceInfo" c:type="const GInterfaceInfo*"/>
  14582. </parameter>
  14583. </parameters>
  14584. </function>
  14585. <function name="type_check_class_cast"
  14586. c:identifier="g_type_check_class_cast"
  14587. introspectable="0">
  14588. <return-value>
  14589. <type name="TypeClass" c:type="GTypeClass*"/>
  14590. </return-value>
  14591. <parameters>
  14592. <parameter name="g_class" transfer-ownership="none">
  14593. <type name="TypeClass" c:type="GTypeClass*"/>
  14594. </parameter>
  14595. <parameter name="is_a_type" transfer-ownership="none">
  14596. <type name="GType" c:type="GType"/>
  14597. </parameter>
  14598. </parameters>
  14599. </function>
  14600. <function name="type_check_class_is_a"
  14601. c:identifier="g_type_check_class_is_a">
  14602. <return-value transfer-ownership="none">
  14603. <type name="gboolean" c:type="gboolean"/>
  14604. </return-value>
  14605. <parameters>
  14606. <parameter name="g_class" transfer-ownership="none">
  14607. <type name="TypeClass" c:type="GTypeClass*"/>
  14608. </parameter>
  14609. <parameter name="is_a_type" transfer-ownership="none">
  14610. <type name="GType" c:type="GType"/>
  14611. </parameter>
  14612. </parameters>
  14613. </function>
  14614. <function name="type_check_instance" c:identifier="g_type_check_instance">
  14615. <doc xml:space="preserve">Private helper function to aid implementation of the
  14616. G_TYPE_CHECK_INSTANCE() macro.</doc>
  14617. <return-value transfer-ownership="none">
  14618. <doc xml:space="preserve">%TRUE if @instance is valid, %FALSE otherwise</doc>
  14619. <type name="gboolean" c:type="gboolean"/>
  14620. </return-value>
  14621. <parameters>
  14622. <parameter name="instance" transfer-ownership="none">
  14623. <doc xml:space="preserve">a valid #GTypeInstance structure</doc>
  14624. <type name="TypeInstance" c:type="GTypeInstance*"/>
  14625. </parameter>
  14626. </parameters>
  14627. </function>
  14628. <function name="type_check_instance_cast"
  14629. c:identifier="g_type_check_instance_cast"
  14630. introspectable="0">
  14631. <return-value>
  14632. <type name="TypeInstance" c:type="GTypeInstance*"/>
  14633. </return-value>
  14634. <parameters>
  14635. <parameter name="instance" transfer-ownership="none">
  14636. <type name="TypeInstance" c:type="GTypeInstance*"/>
  14637. </parameter>
  14638. <parameter name="iface_type" transfer-ownership="none">
  14639. <type name="GType" c:type="GType"/>
  14640. </parameter>
  14641. </parameters>
  14642. </function>
  14643. <function name="type_check_instance_is_a"
  14644. c:identifier="g_type_check_instance_is_a">
  14645. <return-value transfer-ownership="none">
  14646. <type name="gboolean" c:type="gboolean"/>
  14647. </return-value>
  14648. <parameters>
  14649. <parameter name="instance" transfer-ownership="none">
  14650. <type name="TypeInstance" c:type="GTypeInstance*"/>
  14651. </parameter>
  14652. <parameter name="iface_type" transfer-ownership="none">
  14653. <type name="GType" c:type="GType"/>
  14654. </parameter>
  14655. </parameters>
  14656. </function>
  14657. <function name="type_check_instance_is_fundamentally_a"
  14658. c:identifier="g_type_check_instance_is_fundamentally_a">
  14659. <return-value transfer-ownership="none">
  14660. <type name="gboolean" c:type="gboolean"/>
  14661. </return-value>
  14662. <parameters>
  14663. <parameter name="instance" transfer-ownership="none">
  14664. <type name="TypeInstance" c:type="GTypeInstance*"/>
  14665. </parameter>
  14666. <parameter name="fundamental_type" transfer-ownership="none">
  14667. <type name="GType" c:type="GType"/>
  14668. </parameter>
  14669. </parameters>
  14670. </function>
  14671. <function name="type_check_is_value_type"
  14672. c:identifier="g_type_check_is_value_type">
  14673. <return-value transfer-ownership="none">
  14674. <type name="gboolean" c:type="gboolean"/>
  14675. </return-value>
  14676. <parameters>
  14677. <parameter name="type" transfer-ownership="none">
  14678. <type name="GType" c:type="GType"/>
  14679. </parameter>
  14680. </parameters>
  14681. </function>
  14682. <function name="type_check_value" c:identifier="g_type_check_value">
  14683. <return-value transfer-ownership="none">
  14684. <type name="gboolean" c:type="gboolean"/>
  14685. </return-value>
  14686. <parameters>
  14687. <parameter name="value" transfer-ownership="none">
  14688. <type name="Value" c:type="GValue*"/>
  14689. </parameter>
  14690. </parameters>
  14691. </function>
  14692. <function name="type_check_value_holds"
  14693. c:identifier="g_type_check_value_holds">
  14694. <return-value transfer-ownership="none">
  14695. <type name="gboolean" c:type="gboolean"/>
  14696. </return-value>
  14697. <parameters>
  14698. <parameter name="value" transfer-ownership="none">
  14699. <type name="Value" c:type="GValue*"/>
  14700. </parameter>
  14701. <parameter name="type" transfer-ownership="none">
  14702. <type name="GType" c:type="GType"/>
  14703. </parameter>
  14704. </parameters>
  14705. </function>
  14706. <function name="type_children" c:identifier="g_type_children">
  14707. <doc xml:space="preserve">Return a newly allocated and 0-terminated array of type IDs, listing
  14708. the child types of @type.</doc>
  14709. <return-value transfer-ownership="full">
  14710. <doc xml:space="preserve">Newly allocated
  14711. and 0-terminated array of child types, free with g_free()</doc>
  14712. <array length="1" zero-terminated="0" c:type="GType*">
  14713. <type name="GType" c:type="GType"/>
  14714. </array>
  14715. </return-value>
  14716. <parameters>
  14717. <parameter name="type" transfer-ownership="none">
  14718. <doc xml:space="preserve">the parent type</doc>
  14719. <type name="GType" c:type="GType"/>
  14720. </parameter>
  14721. <parameter name="n_children"
  14722. direction="out"
  14723. caller-allocates="0"
  14724. transfer-ownership="full"
  14725. optional="1"
  14726. allow-none="1">
  14727. <doc xml:space="preserve">location to store the length of
  14728. the returned array, or %NULL</doc>
  14729. <type name="guint" c:type="guint*"/>
  14730. </parameter>
  14731. </parameters>
  14732. </function>
  14733. <function name="type_class_adjust_private_offset"
  14734. c:identifier="g_type_class_adjust_private_offset"
  14735. moved-to="TypeClass.adjust_private_offset">
  14736. <return-value transfer-ownership="none">
  14737. <type name="none" c:type="void"/>
  14738. </return-value>
  14739. <parameters>
  14740. <parameter name="g_class"
  14741. transfer-ownership="none"
  14742. nullable="1"
  14743. allow-none="1">
  14744. <type name="gpointer" c:type="gpointer"/>
  14745. </parameter>
  14746. <parameter name="private_size_or_offset" transfer-ownership="none">
  14747. <type name="gint" c:type="gint*"/>
  14748. </parameter>
  14749. </parameters>
  14750. </function>
  14751. <function name="type_class_peek"
  14752. c:identifier="g_type_class_peek"
  14753. moved-to="TypeClass.peek">
  14754. <doc xml:space="preserve">This function is essentially the same as g_type_class_ref(),
  14755. except that the classes reference count isn't incremented.
  14756. As a consequence, this function may return %NULL if the class
  14757. of the type passed in does not currently exist (hasn't been
  14758. referenced before).</doc>
  14759. <return-value transfer-ownership="none">
  14760. <doc xml:space="preserve">the #GTypeClass
  14761. structure for the given type ID or %NULL if the class does not
  14762. currently exist</doc>
  14763. <type name="TypeClass" c:type="gpointer"/>
  14764. </return-value>
  14765. <parameters>
  14766. <parameter name="type" transfer-ownership="none">
  14767. <doc xml:space="preserve">type ID of a classed type</doc>
  14768. <type name="GType" c:type="GType"/>
  14769. </parameter>
  14770. </parameters>
  14771. </function>
  14772. <function name="type_class_peek_static"
  14773. c:identifier="g_type_class_peek_static"
  14774. moved-to="TypeClass.peek_static"
  14775. version="2.4">
  14776. <doc xml:space="preserve">A more efficient version of g_type_class_peek() which works only for
  14777. static types.</doc>
  14778. <return-value transfer-ownership="none">
  14779. <doc xml:space="preserve">the #GTypeClass
  14780. structure for the given type ID or %NULL if the class does not
  14781. currently exist or is dynamically loaded</doc>
  14782. <type name="TypeClass" c:type="gpointer"/>
  14783. </return-value>
  14784. <parameters>
  14785. <parameter name="type" transfer-ownership="none">
  14786. <doc xml:space="preserve">type ID of a classed type</doc>
  14787. <type name="GType" c:type="GType"/>
  14788. </parameter>
  14789. </parameters>
  14790. </function>
  14791. <function name="type_class_ref"
  14792. c:identifier="g_type_class_ref"
  14793. moved-to="TypeClass.ref">
  14794. <doc xml:space="preserve">Increments the reference count of the class structure belonging to
  14795. @type. This function will demand-create the class if it doesn't
  14796. exist already.</doc>
  14797. <return-value transfer-ownership="none">
  14798. <doc xml:space="preserve">the #GTypeClass
  14799. structure for the given type ID</doc>
  14800. <type name="TypeClass" c:type="gpointer"/>
  14801. </return-value>
  14802. <parameters>
  14803. <parameter name="type" transfer-ownership="none">
  14804. <doc xml:space="preserve">type ID of a classed type</doc>
  14805. <type name="GType" c:type="GType"/>
  14806. </parameter>
  14807. </parameters>
  14808. </function>
  14809. <function name="type_create_instance"
  14810. c:identifier="g_type_create_instance"
  14811. introspectable="0">
  14812. <doc xml:space="preserve">Creates and initializes an instance of @type if @type is valid and
  14813. can be instantiated. The type system only performs basic allocation
  14814. and structure setups for instances: actual instance creation should
  14815. happen through functions supplied by the type's fundamental type
  14816. implementation. So use of g_type_create_instance() is reserved for
  14817. implementators of fundamental types only. E.g. instances of the
  14818. #GObject hierarchy should be created via g_object_new() and never
  14819. directly through g_type_create_instance() which doesn't handle things
  14820. like singleton objects or object construction.
  14821. The extended members of the returned instance are guaranteed to be filled
  14822. with zeros.
  14823. Note: Do not use this function, unless you're implementing a
  14824. fundamental type. Also language bindings should not use this
  14825. function, but g_object_new() instead.</doc>
  14826. <return-value>
  14827. <doc xml:space="preserve">an allocated and initialized instance, subject to further
  14828. treatment by the fundamental type implementation</doc>
  14829. <type name="TypeInstance" c:type="GTypeInstance*"/>
  14830. </return-value>
  14831. <parameters>
  14832. <parameter name="type" transfer-ownership="none">
  14833. <doc xml:space="preserve">an instantiatable type to create an instance for</doc>
  14834. <type name="GType" c:type="GType"/>
  14835. </parameter>
  14836. </parameters>
  14837. </function>
  14838. <function name="type_default_interface_peek"
  14839. c:identifier="g_type_default_interface_peek"
  14840. version="2.4">
  14841. <doc xml:space="preserve">If the interface type @g_type is currently in use, returns its
  14842. default interface vtable.</doc>
  14843. <return-value transfer-ownership="none">
  14844. <doc xml:space="preserve">the default
  14845. vtable for the interface, or %NULL if the type is not currently
  14846. in use</doc>
  14847. <type name="TypeInterface" c:type="gpointer"/>
  14848. </return-value>
  14849. <parameters>
  14850. <parameter name="g_type" transfer-ownership="none">
  14851. <doc xml:space="preserve">an interface type</doc>
  14852. <type name="GType" c:type="GType"/>
  14853. </parameter>
  14854. </parameters>
  14855. </function>
  14856. <function name="type_default_interface_ref"
  14857. c:identifier="g_type_default_interface_ref"
  14858. version="2.4">
  14859. <doc xml:space="preserve">Increments the reference count for the interface type @g_type,
  14860. and returns the default interface vtable for the type.
  14861. If the type is not currently in use, then the default vtable
  14862. for the type will be created and initalized by calling
  14863. the base interface init and default vtable init functions for
  14864. the type (the @base_init and @class_init members of #GTypeInfo).
  14865. Calling g_type_default_interface_ref() is useful when you
  14866. want to make sure that signals and properties for an interface
  14867. have been installed.</doc>
  14868. <return-value transfer-ownership="none">
  14869. <doc xml:space="preserve">the default
  14870. vtable for the interface; call g_type_default_interface_unref()
  14871. when you are done using the interface.</doc>
  14872. <type name="TypeInterface" c:type="gpointer"/>
  14873. </return-value>
  14874. <parameters>
  14875. <parameter name="g_type" transfer-ownership="none">
  14876. <doc xml:space="preserve">an interface type</doc>
  14877. <type name="GType" c:type="GType"/>
  14878. </parameter>
  14879. </parameters>
  14880. </function>
  14881. <function name="type_default_interface_unref"
  14882. c:identifier="g_type_default_interface_unref"
  14883. version="2.4">
  14884. <doc xml:space="preserve">Decrements the reference count for the type corresponding to the
  14885. interface default vtable @g_iface. If the type is dynamic, then
  14886. when no one is using the interface and all references have
  14887. been released, the finalize function for the interface's default
  14888. vtable (the @class_finalize member of #GTypeInfo) will be called.</doc>
  14889. <return-value transfer-ownership="none">
  14890. <type name="none" c:type="void"/>
  14891. </return-value>
  14892. <parameters>
  14893. <parameter name="g_iface" transfer-ownership="none">
  14894. <doc xml:space="preserve">the default vtable
  14895. structure for a interface, as returned by g_type_default_interface_ref()</doc>
  14896. <type name="TypeInterface" c:type="gpointer"/>
  14897. </parameter>
  14898. </parameters>
  14899. </function>
  14900. <function name="type_depth" c:identifier="g_type_depth">
  14901. <doc xml:space="preserve">Returns the length of the ancestry of the passed in type. This
  14902. includes the type itself, so that e.g. a fundamental type has depth 1.</doc>
  14903. <return-value transfer-ownership="none">
  14904. <doc xml:space="preserve">the depth of @type</doc>
  14905. <type name="guint" c:type="guint"/>
  14906. </return-value>
  14907. <parameters>
  14908. <parameter name="type" transfer-ownership="none">
  14909. <doc xml:space="preserve">a #GType</doc>
  14910. <type name="GType" c:type="GType"/>
  14911. </parameter>
  14912. </parameters>
  14913. </function>
  14914. <function name="type_ensure" c:identifier="g_type_ensure" version="2.34">
  14915. <doc xml:space="preserve">Ensures that the indicated @type has been registered with the
  14916. type system, and its _class_init() method has been run.
  14917. In theory, simply calling the type's _get_type() method (or using
  14918. the corresponding macro) is supposed take care of this. However,
  14919. _get_type() methods are often marked %G_GNUC_CONST for performance
  14920. reasons, even though this is technically incorrect (since
  14921. %G_GNUC_CONST requires that the function not have side effects,
  14922. which _get_type() methods do on the first call). As a result, if
  14923. you write a bare call to a _get_type() macro, it may get optimized
  14924. out by the compiler. Using g_type_ensure() guarantees that the
  14925. type's _get_type() method is called.</doc>
  14926. <return-value transfer-ownership="none">
  14927. <type name="none" c:type="void"/>
  14928. </return-value>
  14929. <parameters>
  14930. <parameter name="type" transfer-ownership="none">
  14931. <doc xml:space="preserve">a #GType</doc>
  14932. <type name="GType" c:type="GType"/>
  14933. </parameter>
  14934. </parameters>
  14935. </function>
  14936. <function name="type_free_instance" c:identifier="g_type_free_instance">
  14937. <doc xml:space="preserve">Frees an instance of a type, returning it to the instance pool for
  14938. the type, if there is one.
  14939. Like g_type_create_instance(), this function is reserved for
  14940. implementors of fundamental types.</doc>
  14941. <return-value transfer-ownership="none">
  14942. <type name="none" c:type="void"/>
  14943. </return-value>
  14944. <parameters>
  14945. <parameter name="instance" transfer-ownership="none">
  14946. <doc xml:space="preserve">an instance of a type</doc>
  14947. <type name="TypeInstance" c:type="GTypeInstance*"/>
  14948. </parameter>
  14949. </parameters>
  14950. </function>
  14951. <function name="type_from_name" c:identifier="g_type_from_name">
  14952. <doc xml:space="preserve">Lookup the type ID from a given type name, returning 0 if no type
  14953. has been registered under this name (this is the preferred method
  14954. to find out by name whether a specific type has been registered
  14955. yet).</doc>
  14956. <return-value transfer-ownership="none">
  14957. <doc xml:space="preserve">corresponding type ID or 0</doc>
  14958. <type name="GType" c:type="GType"/>
  14959. </return-value>
  14960. <parameters>
  14961. <parameter name="name" transfer-ownership="none">
  14962. <doc xml:space="preserve">type name to lookup</doc>
  14963. <type name="utf8" c:type="const gchar*"/>
  14964. </parameter>
  14965. </parameters>
  14966. </function>
  14967. <function name="type_fundamental" c:identifier="g_type_fundamental">
  14968. <doc xml:space="preserve">Internal function, used to extract the fundamental type ID portion.
  14969. Use G_TYPE_FUNDAMENTAL() instead.</doc>
  14970. <return-value transfer-ownership="none">
  14971. <doc xml:space="preserve">fundamental type ID</doc>
  14972. <type name="GType" c:type="GType"/>
  14973. </return-value>
  14974. <parameters>
  14975. <parameter name="type_id" transfer-ownership="none">
  14976. <doc xml:space="preserve">valid type ID</doc>
  14977. <type name="GType" c:type="GType"/>
  14978. </parameter>
  14979. </parameters>
  14980. </function>
  14981. <function name="type_fundamental_next"
  14982. c:identifier="g_type_fundamental_next">
  14983. <doc xml:space="preserve">Returns the next free fundamental type id which can be used to
  14984. register a new fundamental type with g_type_register_fundamental().
  14985. The returned type ID represents the highest currently registered
  14986. fundamental type identifier.</doc>
  14987. <return-value transfer-ownership="none">
  14988. <doc xml:space="preserve">the next available fundamental type ID to be registered,
  14989. or 0 if the type system ran out of fundamental type IDs</doc>
  14990. <type name="GType" c:type="GType"/>
  14991. </return-value>
  14992. </function>
  14993. <function name="type_get_instance_count"
  14994. c:identifier="g_type_get_instance_count"
  14995. version="2.44">
  14996. <doc xml:space="preserve">Returns the number of instances allocated of the particular type;
  14997. this is only available if GLib is built with debugging support and
  14998. the instance_count debug flag is set (by setting the GOBJECT_DEBUG
  14999. variable to include instance-count).</doc>
  15000. <return-value transfer-ownership="none">
  15001. <doc xml:space="preserve">the number of instances allocated of the given type;
  15002. if instance counts are not available, returns 0.</doc>
  15003. <type name="gint" c:type="int"/>
  15004. </return-value>
  15005. <parameters>
  15006. <parameter name="type" transfer-ownership="none">
  15007. <doc xml:space="preserve">a #GType</doc>
  15008. <type name="GType" c:type="GType"/>
  15009. </parameter>
  15010. </parameters>
  15011. </function>
  15012. <function name="type_get_plugin" c:identifier="g_type_get_plugin">
  15013. <doc xml:space="preserve">Returns the #GTypePlugin structure for @type.</doc>
  15014. <return-value transfer-ownership="none">
  15015. <doc xml:space="preserve">the corresponding plugin
  15016. if @type is a dynamic type, %NULL otherwise</doc>
  15017. <type name="TypePlugin" c:type="GTypePlugin*"/>
  15018. </return-value>
  15019. <parameters>
  15020. <parameter name="type" transfer-ownership="none">
  15021. <doc xml:space="preserve">#GType to retrieve the plugin for</doc>
  15022. <type name="GType" c:type="GType"/>
  15023. </parameter>
  15024. </parameters>
  15025. </function>
  15026. <function name="type_get_qdata" c:identifier="g_type_get_qdata">
  15027. <doc xml:space="preserve">Obtains data which has previously been attached to @type
  15028. with g_type_set_qdata().
  15029. Note that this does not take subtyping into account; data
  15030. attached to one type with g_type_set_qdata() cannot
  15031. be retrieved from a subtype using g_type_get_qdata().</doc>
  15032. <return-value transfer-ownership="none" nullable="1">
  15033. <doc xml:space="preserve">the data, or %NULL if no data was found</doc>
  15034. <type name="gpointer" c:type="gpointer"/>
  15035. </return-value>
  15036. <parameters>
  15037. <parameter name="type" transfer-ownership="none">
  15038. <doc xml:space="preserve">a #GType</doc>
  15039. <type name="GType" c:type="GType"/>
  15040. </parameter>
  15041. <parameter name="quark" transfer-ownership="none">
  15042. <doc xml:space="preserve">a #GQuark id to identify the data</doc>
  15043. <type name="GLib.Quark" c:type="GQuark"/>
  15044. </parameter>
  15045. </parameters>
  15046. </function>
  15047. <function name="type_get_type_registration_serial"
  15048. c:identifier="g_type_get_type_registration_serial"
  15049. version="2.36">
  15050. <doc xml:space="preserve">Returns an opaque serial number that represents the state of the set
  15051. of registered types. Any time a type is registered this serial changes,
  15052. which means you can cache information based on type lookups (such as
  15053. g_type_from_name()) and know if the cache is still valid at a later
  15054. time by comparing the current serial with the one at the type lookup.</doc>
  15055. <return-value transfer-ownership="none">
  15056. <doc xml:space="preserve">An unsigned int, representing the state of type registrations</doc>
  15057. <type name="guint" c:type="guint"/>
  15058. </return-value>
  15059. </function>
  15060. <function name="type_init"
  15061. c:identifier="g_type_init"
  15062. deprecated="1"
  15063. deprecated-version="2.36">
  15064. <doc xml:space="preserve">This function used to initialise the type system. Since GLib 2.36,
  15065. the type system is initialised automatically and this function does
  15066. nothing.</doc>
  15067. <doc-deprecated xml:space="preserve">the type system is now initialised automatically</doc-deprecated>
  15068. <return-value transfer-ownership="none">
  15069. <type name="none" c:type="void"/>
  15070. </return-value>
  15071. </function>
  15072. <function name="type_init_with_debug_flags"
  15073. c:identifier="g_type_init_with_debug_flags"
  15074. deprecated="1"
  15075. deprecated-version="2.36">
  15076. <doc xml:space="preserve">This function used to initialise the type system with debugging
  15077. flags. Since GLib 2.36, the type system is initialised automatically
  15078. and this function does nothing.
  15079. If you need to enable debugging features, use the GOBJECT_DEBUG
  15080. environment variable.</doc>
  15081. <doc-deprecated xml:space="preserve">the type system is now initialised automatically</doc-deprecated>
  15082. <return-value transfer-ownership="none">
  15083. <type name="none" c:type="void"/>
  15084. </return-value>
  15085. <parameters>
  15086. <parameter name="debug_flags" transfer-ownership="none">
  15087. <doc xml:space="preserve">bitwise combination of #GTypeDebugFlags values for
  15088. debugging purposes</doc>
  15089. <type name="TypeDebugFlags" c:type="GTypeDebugFlags"/>
  15090. </parameter>
  15091. </parameters>
  15092. </function>
  15093. <function name="type_interface_add_prerequisite"
  15094. c:identifier="g_type_interface_add_prerequisite"
  15095. moved-to="TypeInterface.add_prerequisite">
  15096. <doc xml:space="preserve">Adds @prerequisite_type to the list of prerequisites of @interface_type.
  15097. This means that any type implementing @interface_type must also implement
  15098. @prerequisite_type. Prerequisites can be thought of as an alternative to
  15099. interface derivation (which GType doesn't support). An interface can have
  15100. at most one instantiatable prerequisite type.</doc>
  15101. <return-value transfer-ownership="none">
  15102. <type name="none" c:type="void"/>
  15103. </return-value>
  15104. <parameters>
  15105. <parameter name="interface_type" transfer-ownership="none">
  15106. <doc xml:space="preserve">#GType value of an interface type</doc>
  15107. <type name="GType" c:type="GType"/>
  15108. </parameter>
  15109. <parameter name="prerequisite_type" transfer-ownership="none">
  15110. <doc xml:space="preserve">#GType value of an interface or instantiatable type</doc>
  15111. <type name="GType" c:type="GType"/>
  15112. </parameter>
  15113. </parameters>
  15114. </function>
  15115. <function name="type_interface_get_plugin"
  15116. c:identifier="g_type_interface_get_plugin"
  15117. moved-to="TypeInterface.get_plugin">
  15118. <doc xml:space="preserve">Returns the #GTypePlugin structure for the dynamic interface
  15119. @interface_type which has been added to @instance_type, or %NULL
  15120. if @interface_type has not been added to @instance_type or does
  15121. not have a #GTypePlugin structure. See g_type_add_interface_dynamic().</doc>
  15122. <return-value transfer-ownership="none">
  15123. <doc xml:space="preserve">the #GTypePlugin for the dynamic
  15124. interface @interface_type of @instance_type</doc>
  15125. <type name="TypePlugin" c:type="GTypePlugin*"/>
  15126. </return-value>
  15127. <parameters>
  15128. <parameter name="instance_type" transfer-ownership="none">
  15129. <doc xml:space="preserve">#GType of an instantiatable type</doc>
  15130. <type name="GType" c:type="GType"/>
  15131. </parameter>
  15132. <parameter name="interface_type" transfer-ownership="none">
  15133. <doc xml:space="preserve">#GType of an interface type</doc>
  15134. <type name="GType" c:type="GType"/>
  15135. </parameter>
  15136. </parameters>
  15137. </function>
  15138. <function name="type_interface_peek"
  15139. c:identifier="g_type_interface_peek"
  15140. moved-to="TypeInterface.peek">
  15141. <doc xml:space="preserve">Returns the #GTypeInterface structure of an interface to which the
  15142. passed in class conforms.</doc>
  15143. <return-value transfer-ownership="none">
  15144. <doc xml:space="preserve">the #GTypeInterface
  15145. structure of @iface_type if implemented by @instance_class, %NULL
  15146. otherwise</doc>
  15147. <type name="TypeInterface" c:type="gpointer"/>
  15148. </return-value>
  15149. <parameters>
  15150. <parameter name="instance_class" transfer-ownership="none">
  15151. <doc xml:space="preserve">a #GTypeClass structure</doc>
  15152. <type name="TypeClass" c:type="gpointer"/>
  15153. </parameter>
  15154. <parameter name="iface_type" transfer-ownership="none">
  15155. <doc xml:space="preserve">an interface ID which this class conforms to</doc>
  15156. <type name="GType" c:type="GType"/>
  15157. </parameter>
  15158. </parameters>
  15159. </function>
  15160. <function name="type_interface_prerequisites"
  15161. c:identifier="g_type_interface_prerequisites"
  15162. moved-to="TypeInterface.prerequisites"
  15163. version="2.2">
  15164. <doc xml:space="preserve">Returns the prerequisites of an interfaces type.</doc>
  15165. <return-value transfer-ownership="full">
  15166. <doc xml:space="preserve">a
  15167. newly-allocated zero-terminated array of #GType containing
  15168. the prerequisites of @interface_type</doc>
  15169. <array length="1" zero-terminated="0" c:type="GType*">
  15170. <type name="GType" c:type="GType"/>
  15171. </array>
  15172. </return-value>
  15173. <parameters>
  15174. <parameter name="interface_type" transfer-ownership="none">
  15175. <doc xml:space="preserve">an interface type</doc>
  15176. <type name="GType" c:type="GType"/>
  15177. </parameter>
  15178. <parameter name="n_prerequisites"
  15179. direction="out"
  15180. caller-allocates="0"
  15181. transfer-ownership="full"
  15182. optional="1"
  15183. allow-none="1">
  15184. <doc xml:space="preserve">location to return the number
  15185. of prerequisites, or %NULL</doc>
  15186. <type name="guint" c:type="guint*"/>
  15187. </parameter>
  15188. </parameters>
  15189. </function>
  15190. <function name="type_interfaces" c:identifier="g_type_interfaces">
  15191. <doc xml:space="preserve">Return a newly allocated and 0-terminated array of type IDs, listing
  15192. the interface types that @type conforms to.</doc>
  15193. <return-value transfer-ownership="full">
  15194. <doc xml:space="preserve">Newly allocated
  15195. and 0-terminated array of interface types, free with g_free()</doc>
  15196. <array length="1" zero-terminated="0" c:type="GType*">
  15197. <type name="GType" c:type="GType"/>
  15198. </array>
  15199. </return-value>
  15200. <parameters>
  15201. <parameter name="type" transfer-ownership="none">
  15202. <doc xml:space="preserve">the type to list interface types for</doc>
  15203. <type name="GType" c:type="GType"/>
  15204. </parameter>
  15205. <parameter name="n_interfaces"
  15206. direction="out"
  15207. caller-allocates="0"
  15208. transfer-ownership="full"
  15209. optional="1"
  15210. allow-none="1">
  15211. <doc xml:space="preserve">location to store the length of
  15212. the returned array, or %NULL</doc>
  15213. <type name="guint" c:type="guint*"/>
  15214. </parameter>
  15215. </parameters>
  15216. </function>
  15217. <function name="type_is_a" c:identifier="g_type_is_a">
  15218. <doc xml:space="preserve">If @is_a_type is a derivable type, check whether @type is a
  15219. descendant of @is_a_type. If @is_a_type is an interface, check
  15220. whether @type conforms to it.</doc>
  15221. <return-value transfer-ownership="none">
  15222. <doc xml:space="preserve">%TRUE if @type is a @is_a_type</doc>
  15223. <type name="gboolean" c:type="gboolean"/>
  15224. </return-value>
  15225. <parameters>
  15226. <parameter name="type" transfer-ownership="none">
  15227. <doc xml:space="preserve">type to check anchestry for</doc>
  15228. <type name="GType" c:type="GType"/>
  15229. </parameter>
  15230. <parameter name="is_a_type" transfer-ownership="none">
  15231. <doc xml:space="preserve">possible anchestor of @type or interface that @type
  15232. could conform to</doc>
  15233. <type name="GType" c:type="GType"/>
  15234. </parameter>
  15235. </parameters>
  15236. </function>
  15237. <function name="type_name" c:identifier="g_type_name">
  15238. <doc xml:space="preserve">Get the unique name that is assigned to a type ID. Note that this
  15239. function (like all other GType API) cannot cope with invalid type
  15240. IDs. %G_TYPE_INVALID may be passed to this function, as may be any
  15241. other validly registered type ID, but randomized type IDs should
  15242. not be passed in and will most likely lead to a crash.</doc>
  15243. <return-value transfer-ownership="none">
  15244. <doc xml:space="preserve">static type name or %NULL</doc>
  15245. <type name="utf8" c:type="const gchar*"/>
  15246. </return-value>
  15247. <parameters>
  15248. <parameter name="type" transfer-ownership="none">
  15249. <doc xml:space="preserve">type to return name for</doc>
  15250. <type name="GType" c:type="GType"/>
  15251. </parameter>
  15252. </parameters>
  15253. </function>
  15254. <function name="type_name_from_class"
  15255. c:identifier="g_type_name_from_class">
  15256. <return-value transfer-ownership="none">
  15257. <type name="utf8" c:type="const gchar*"/>
  15258. </return-value>
  15259. <parameters>
  15260. <parameter name="g_class" transfer-ownership="none">
  15261. <type name="TypeClass" c:type="GTypeClass*"/>
  15262. </parameter>
  15263. </parameters>
  15264. </function>
  15265. <function name="type_name_from_instance"
  15266. c:identifier="g_type_name_from_instance">
  15267. <return-value transfer-ownership="none">
  15268. <type name="utf8" c:type="const gchar*"/>
  15269. </return-value>
  15270. <parameters>
  15271. <parameter name="instance" transfer-ownership="none">
  15272. <type name="TypeInstance" c:type="GTypeInstance*"/>
  15273. </parameter>
  15274. </parameters>
  15275. </function>
  15276. <function name="type_next_base" c:identifier="g_type_next_base">
  15277. <doc xml:space="preserve">Given a @leaf_type and a @root_type which is contained in its
  15278. anchestry, return the type that @root_type is the immediate parent
  15279. of. In other words, this function determines the type that is
  15280. derived directly from @root_type which is also a base class of
  15281. @leaf_type. Given a root type and a leaf type, this function can
  15282. be used to determine the types and order in which the leaf type is
  15283. descended from the root type.</doc>
  15284. <return-value transfer-ownership="none">
  15285. <doc xml:space="preserve">immediate child of @root_type and anchestor of @leaf_type</doc>
  15286. <type name="GType" c:type="GType"/>
  15287. </return-value>
  15288. <parameters>
  15289. <parameter name="leaf_type" transfer-ownership="none">
  15290. <doc xml:space="preserve">descendant of @root_type and the type to be returned</doc>
  15291. <type name="GType" c:type="GType"/>
  15292. </parameter>
  15293. <parameter name="root_type" transfer-ownership="none">
  15294. <doc xml:space="preserve">immediate parent of the returned type</doc>
  15295. <type name="GType" c:type="GType"/>
  15296. </parameter>
  15297. </parameters>
  15298. </function>
  15299. <function name="type_parent" c:identifier="g_type_parent">
  15300. <doc xml:space="preserve">Return the direct parent type of the passed in type. If the passed
  15301. in type has no parent, i.e. is a fundamental type, 0 is returned.</doc>
  15302. <return-value transfer-ownership="none">
  15303. <doc xml:space="preserve">the parent type</doc>
  15304. <type name="GType" c:type="GType"/>
  15305. </return-value>
  15306. <parameters>
  15307. <parameter name="type" transfer-ownership="none">
  15308. <doc xml:space="preserve">the derived type</doc>
  15309. <type name="GType" c:type="GType"/>
  15310. </parameter>
  15311. </parameters>
  15312. </function>
  15313. <function name="type_qname" c:identifier="g_type_qname">
  15314. <doc xml:space="preserve">Get the corresponding quark of the type IDs name.</doc>
  15315. <return-value transfer-ownership="none">
  15316. <doc xml:space="preserve">the type names quark or 0</doc>
  15317. <type name="GLib.Quark" c:type="GQuark"/>
  15318. </return-value>
  15319. <parameters>
  15320. <parameter name="type" transfer-ownership="none">
  15321. <doc xml:space="preserve">type to return quark of type name for</doc>
  15322. <type name="GType" c:type="GType"/>
  15323. </parameter>
  15324. </parameters>
  15325. </function>
  15326. <function name="type_query" c:identifier="g_type_query">
  15327. <doc xml:space="preserve">Queries the type system for information about a specific type.
  15328. This function will fill in a user-provided structure to hold
  15329. type-specific information. If an invalid #GType is passed in, the
  15330. @type member of the #GTypeQuery is 0. All members filled into the
  15331. #GTypeQuery structure should be considered constant and have to be
  15332. left untouched.</doc>
  15333. <return-value transfer-ownership="none">
  15334. <type name="none" c:type="void"/>
  15335. </return-value>
  15336. <parameters>
  15337. <parameter name="type" transfer-ownership="none">
  15338. <doc xml:space="preserve">#GType of a static, classed type</doc>
  15339. <type name="GType" c:type="GType"/>
  15340. </parameter>
  15341. <parameter name="query"
  15342. direction="out"
  15343. caller-allocates="1"
  15344. transfer-ownership="none">
  15345. <doc xml:space="preserve">a user provided structure that is
  15346. filled in with constant values upon success</doc>
  15347. <type name="TypeQuery" c:type="GTypeQuery*"/>
  15348. </parameter>
  15349. </parameters>
  15350. </function>
  15351. <function name="type_register_dynamic"
  15352. c:identifier="g_type_register_dynamic">
  15353. <doc xml:space="preserve">Registers @type_name as the name of a new dynamic type derived from
  15354. @parent_type. The type system uses the information contained in the
  15355. #GTypePlugin structure pointed to by @plugin to manage the type and its
  15356. instances (if not abstract). The value of @flags determines the nature
  15357. (e.g. abstract or not) of the type.</doc>
  15358. <return-value transfer-ownership="none">
  15359. <doc xml:space="preserve">the new type identifier or #G_TYPE_INVALID if registration failed</doc>
  15360. <type name="GType" c:type="GType"/>
  15361. </return-value>
  15362. <parameters>
  15363. <parameter name="parent_type" transfer-ownership="none">
  15364. <doc xml:space="preserve">type from which this type will be derived</doc>
  15365. <type name="GType" c:type="GType"/>
  15366. </parameter>
  15367. <parameter name="type_name" transfer-ownership="none">
  15368. <doc xml:space="preserve">0-terminated string used as the name of the new type</doc>
  15369. <type name="utf8" c:type="const gchar*"/>
  15370. </parameter>
  15371. <parameter name="plugin" transfer-ownership="none">
  15372. <doc xml:space="preserve">#GTypePlugin structure to retrieve the #GTypeInfo from</doc>
  15373. <type name="TypePlugin" c:type="GTypePlugin*"/>
  15374. </parameter>
  15375. <parameter name="flags" transfer-ownership="none">
  15376. <doc xml:space="preserve">bitwise combination of #GTypeFlags values</doc>
  15377. <type name="TypeFlags" c:type="GTypeFlags"/>
  15378. </parameter>
  15379. </parameters>
  15380. </function>
  15381. <function name="type_register_fundamental"
  15382. c:identifier="g_type_register_fundamental">
  15383. <doc xml:space="preserve">Registers @type_id as the predefined identifier and @type_name as the
  15384. name of a fundamental type. If @type_id is already registered, or a
  15385. type named @type_name is already registered, the behaviour is undefined.
  15386. The type system uses the information contained in the #GTypeInfo structure
  15387. pointed to by @info and the #GTypeFundamentalInfo structure pointed to by
  15388. @finfo to manage the type and its instances. The value of @flags determines
  15389. additional characteristics of the fundamental type.</doc>
  15390. <return-value transfer-ownership="none">
  15391. <doc xml:space="preserve">the predefined type identifier</doc>
  15392. <type name="GType" c:type="GType"/>
  15393. </return-value>
  15394. <parameters>
  15395. <parameter name="type_id" transfer-ownership="none">
  15396. <doc xml:space="preserve">a predefined type identifier</doc>
  15397. <type name="GType" c:type="GType"/>
  15398. </parameter>
  15399. <parameter name="type_name" transfer-ownership="none">
  15400. <doc xml:space="preserve">0-terminated string used as the name of the new type</doc>
  15401. <type name="utf8" c:type="const gchar*"/>
  15402. </parameter>
  15403. <parameter name="info" transfer-ownership="none">
  15404. <doc xml:space="preserve">#GTypeInfo structure for this type</doc>
  15405. <type name="TypeInfo" c:type="const GTypeInfo*"/>
  15406. </parameter>
  15407. <parameter name="finfo" transfer-ownership="none">
  15408. <doc xml:space="preserve">#GTypeFundamentalInfo structure for this type</doc>
  15409. <type name="TypeFundamentalInfo"
  15410. c:type="const GTypeFundamentalInfo*"/>
  15411. </parameter>
  15412. <parameter name="flags" transfer-ownership="none">
  15413. <doc xml:space="preserve">bitwise combination of #GTypeFlags values</doc>
  15414. <type name="TypeFlags" c:type="GTypeFlags"/>
  15415. </parameter>
  15416. </parameters>
  15417. </function>
  15418. <function name="type_register_static"
  15419. c:identifier="g_type_register_static">
  15420. <doc xml:space="preserve">Registers @type_name as the name of a new static type derived from
  15421. @parent_type. The type system uses the information contained in the
  15422. #GTypeInfo structure pointed to by @info to manage the type and its
  15423. instances (if not abstract). The value of @flags determines the nature
  15424. (e.g. abstract or not) of the type.</doc>
  15425. <return-value transfer-ownership="none">
  15426. <doc xml:space="preserve">the new type identifier</doc>
  15427. <type name="GType" c:type="GType"/>
  15428. </return-value>
  15429. <parameters>
  15430. <parameter name="parent_type" transfer-ownership="none">
  15431. <doc xml:space="preserve">type from which this type will be derived</doc>
  15432. <type name="GType" c:type="GType"/>
  15433. </parameter>
  15434. <parameter name="type_name" transfer-ownership="none">
  15435. <doc xml:space="preserve">0-terminated string used as the name of the new type</doc>
  15436. <type name="utf8" c:type="const gchar*"/>
  15437. </parameter>
  15438. <parameter name="info" transfer-ownership="none">
  15439. <doc xml:space="preserve">#GTypeInfo structure for this type</doc>
  15440. <type name="TypeInfo" c:type="const GTypeInfo*"/>
  15441. </parameter>
  15442. <parameter name="flags" transfer-ownership="none">
  15443. <doc xml:space="preserve">bitwise combination of #GTypeFlags values</doc>
  15444. <type name="TypeFlags" c:type="GTypeFlags"/>
  15445. </parameter>
  15446. </parameters>
  15447. </function>
  15448. <function name="type_register_static_simple"
  15449. c:identifier="g_type_register_static_simple"
  15450. version="2.12"
  15451. introspectable="0">
  15452. <doc xml:space="preserve">Registers @type_name as the name of a new static type derived from
  15453. @parent_type. The value of @flags determines the nature (e.g.
  15454. abstract or not) of the type. It works by filling a #GTypeInfo
  15455. struct and calling g_type_register_static().</doc>
  15456. <return-value transfer-ownership="none">
  15457. <doc xml:space="preserve">the new type identifier</doc>
  15458. <type name="GType" c:type="GType"/>
  15459. </return-value>
  15460. <parameters>
  15461. <parameter name="parent_type" transfer-ownership="none">
  15462. <doc xml:space="preserve">type from which this type will be derived</doc>
  15463. <type name="GType" c:type="GType"/>
  15464. </parameter>
  15465. <parameter name="type_name" transfer-ownership="none">
  15466. <doc xml:space="preserve">0-terminated string used as the name of the new type</doc>
  15467. <type name="utf8" c:type="const gchar*"/>
  15468. </parameter>
  15469. <parameter name="class_size" transfer-ownership="none">
  15470. <doc xml:space="preserve">size of the class structure (see #GTypeInfo)</doc>
  15471. <type name="guint" c:type="guint"/>
  15472. </parameter>
  15473. <parameter name="class_init" transfer-ownership="none">
  15474. <doc xml:space="preserve">location of the class initialization function (see #GTypeInfo)</doc>
  15475. <type name="ClassInitFunc" c:type="GClassInitFunc"/>
  15476. </parameter>
  15477. <parameter name="instance_size" transfer-ownership="none">
  15478. <doc xml:space="preserve">size of the instance structure (see #GTypeInfo)</doc>
  15479. <type name="guint" c:type="guint"/>
  15480. </parameter>
  15481. <parameter name="instance_init" transfer-ownership="none">
  15482. <doc xml:space="preserve">location of the instance initialization function (see #GTypeInfo)</doc>
  15483. <type name="InstanceInitFunc" c:type="GInstanceInitFunc"/>
  15484. </parameter>
  15485. <parameter name="flags" transfer-ownership="none">
  15486. <doc xml:space="preserve">bitwise combination of #GTypeFlags values</doc>
  15487. <type name="TypeFlags" c:type="GTypeFlags"/>
  15488. </parameter>
  15489. </parameters>
  15490. </function>
  15491. <function name="type_remove_class_cache_func"
  15492. c:identifier="g_type_remove_class_cache_func"
  15493. introspectable="0">
  15494. <doc xml:space="preserve">Removes a previously installed #GTypeClassCacheFunc. The cache
  15495. maintained by @cache_func has to be empty when calling
  15496. g_type_remove_class_cache_func() to avoid leaks.</doc>
  15497. <return-value transfer-ownership="none">
  15498. <type name="none" c:type="void"/>
  15499. </return-value>
  15500. <parameters>
  15501. <parameter name="cache_data"
  15502. transfer-ownership="none"
  15503. nullable="1"
  15504. allow-none="1">
  15505. <doc xml:space="preserve">data that was given when adding @cache_func</doc>
  15506. <type name="gpointer" c:type="gpointer"/>
  15507. </parameter>
  15508. <parameter name="cache_func" transfer-ownership="none">
  15509. <doc xml:space="preserve">a #GTypeClassCacheFunc</doc>
  15510. <type name="TypeClassCacheFunc" c:type="GTypeClassCacheFunc"/>
  15511. </parameter>
  15512. </parameters>
  15513. </function>
  15514. <function name="type_remove_interface_check"
  15515. c:identifier="g_type_remove_interface_check"
  15516. version="2.4"
  15517. introspectable="0">
  15518. <doc xml:space="preserve">Removes an interface check function added with
  15519. g_type_add_interface_check().</doc>
  15520. <return-value transfer-ownership="none">
  15521. <type name="none" c:type="void"/>
  15522. </return-value>
  15523. <parameters>
  15524. <parameter name="check_data"
  15525. transfer-ownership="none"
  15526. nullable="1"
  15527. allow-none="1">
  15528. <doc xml:space="preserve">callback data passed to g_type_add_interface_check()</doc>
  15529. <type name="gpointer" c:type="gpointer"/>
  15530. </parameter>
  15531. <parameter name="check_func" transfer-ownership="none">
  15532. <doc xml:space="preserve">callback function passed to g_type_add_interface_check()</doc>
  15533. <type name="TypeInterfaceCheckFunc"
  15534. c:type="GTypeInterfaceCheckFunc"/>
  15535. </parameter>
  15536. </parameters>
  15537. </function>
  15538. <function name="type_set_qdata" c:identifier="g_type_set_qdata">
  15539. <doc xml:space="preserve">Attaches arbitrary data to a type.</doc>
  15540. <return-value transfer-ownership="none">
  15541. <type name="none" c:type="void"/>
  15542. </return-value>
  15543. <parameters>
  15544. <parameter name="type" transfer-ownership="none">
  15545. <doc xml:space="preserve">a #GType</doc>
  15546. <type name="GType" c:type="GType"/>
  15547. </parameter>
  15548. <parameter name="quark" transfer-ownership="none">
  15549. <doc xml:space="preserve">a #GQuark id to identify the data</doc>
  15550. <type name="GLib.Quark" c:type="GQuark"/>
  15551. </parameter>
  15552. <parameter name="data"
  15553. transfer-ownership="none"
  15554. nullable="1"
  15555. allow-none="1">
  15556. <doc xml:space="preserve">the data</doc>
  15557. <type name="gpointer" c:type="gpointer"/>
  15558. </parameter>
  15559. </parameters>
  15560. </function>
  15561. <function name="type_test_flags" c:identifier="g_type_test_flags">
  15562. <return-value transfer-ownership="none">
  15563. <type name="gboolean" c:type="gboolean"/>
  15564. </return-value>
  15565. <parameters>
  15566. <parameter name="type" transfer-ownership="none">
  15567. <type name="GType" c:type="GType"/>
  15568. </parameter>
  15569. <parameter name="flags" transfer-ownership="none">
  15570. <type name="guint" c:type="guint"/>
  15571. </parameter>
  15572. </parameters>
  15573. </function>
  15574. <function name="type_value_table_peek"
  15575. c:identifier="g_type_value_table_peek"
  15576. moved-to="TypeValueTable.peek"
  15577. introspectable="0">
  15578. <doc xml:space="preserve">Returns the location of the #GTypeValueTable associated with @type.
  15579. Note that this function should only be used from source code
  15580. that implements or has internal knowledge of the implementation of
  15581. @type.</doc>
  15582. <return-value>
  15583. <doc xml:space="preserve">location of the #GTypeValueTable associated with @type or
  15584. %NULL if there is no #GTypeValueTable associated with @type</doc>
  15585. <type name="TypeValueTable" c:type="GTypeValueTable*"/>
  15586. </return-value>
  15587. <parameters>
  15588. <parameter name="type" transfer-ownership="none">
  15589. <doc xml:space="preserve">a #GType</doc>
  15590. <type name="GType" c:type="GType"/>
  15591. </parameter>
  15592. </parameters>
  15593. </function>
  15594. <function name="value_register_transform_func"
  15595. c:identifier="g_value_register_transform_func"
  15596. moved-to="Value.register_transform_func"
  15597. introspectable="0">
  15598. <doc xml:space="preserve">Registers a value transformation function for use in g_value_transform().
  15599. A previously registered transformation function for @src_type and @dest_type
  15600. will be replaced.</doc>
  15601. <return-value transfer-ownership="none">
  15602. <type name="none" c:type="void"/>
  15603. </return-value>
  15604. <parameters>
  15605. <parameter name="src_type" transfer-ownership="none">
  15606. <doc xml:space="preserve">Source type.</doc>
  15607. <type name="GType" c:type="GType"/>
  15608. </parameter>
  15609. <parameter name="dest_type" transfer-ownership="none">
  15610. <doc xml:space="preserve">Target type.</doc>
  15611. <type name="GType" c:type="GType"/>
  15612. </parameter>
  15613. <parameter name="transform_func" transfer-ownership="none">
  15614. <doc xml:space="preserve">a function which transforms values of type @src_type
  15615. into value of type @dest_type</doc>
  15616. <type name="ValueTransform" c:type="GValueTransform"/>
  15617. </parameter>
  15618. </parameters>
  15619. </function>
  15620. <function name="value_type_compatible"
  15621. c:identifier="g_value_type_compatible"
  15622. moved-to="Value.type_compatible">
  15623. <doc xml:space="preserve">Returns whether a #GValue of type @src_type can be copied into
  15624. a #GValue of type @dest_type.</doc>
  15625. <return-value transfer-ownership="none">
  15626. <doc xml:space="preserve">%TRUE if g_value_copy() is possible with @src_type and @dest_type.</doc>
  15627. <type name="gboolean" c:type="gboolean"/>
  15628. </return-value>
  15629. <parameters>
  15630. <parameter name="src_type" transfer-ownership="none">
  15631. <doc xml:space="preserve">source type to be copied.</doc>
  15632. <type name="GType" c:type="GType"/>
  15633. </parameter>
  15634. <parameter name="dest_type" transfer-ownership="none">
  15635. <doc xml:space="preserve">destination type for copying.</doc>
  15636. <type name="GType" c:type="GType"/>
  15637. </parameter>
  15638. </parameters>
  15639. </function>
  15640. <function name="value_type_transformable"
  15641. c:identifier="g_value_type_transformable"
  15642. moved-to="Value.type_transformable">
  15643. <doc xml:space="preserve">Check whether g_value_transform() is able to transform values
  15644. of type @src_type into values of type @dest_type. Note that for
  15645. the types to be transformable, they must be compatible and a
  15646. transform function must be registered.</doc>
  15647. <return-value transfer-ownership="none">
  15648. <doc xml:space="preserve">%TRUE if the transformation is possible, %FALSE otherwise.</doc>
  15649. <type name="gboolean" c:type="gboolean"/>
  15650. </return-value>
  15651. <parameters>
  15652. <parameter name="src_type" transfer-ownership="none">
  15653. <doc xml:space="preserve">Source type.</doc>
  15654. <type name="GType" c:type="GType"/>
  15655. </parameter>
  15656. <parameter name="dest_type" transfer-ownership="none">
  15657. <doc xml:space="preserve">Target type.</doc>
  15658. <type name="GType" c:type="GType"/>
  15659. </parameter>
  15660. </parameters>
  15661. </function>
  15662. </namespace>
  15663. </repository>