123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939 |
- <?xml version="1.0"?>
- <!-- This file was automatically generated from C sources - DO NOT EDIT!
- To affect the contents of this file, edit the original C definitions,
- and/or use gtk-doc annotations. -->
- <repository version="1.2"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <package name="gobject-2.0"/>
- <c:include name="glib-object.h"/>
- <namespace name="GObject"
- version="2.0"
- shared-library="libgobject-2.0.so.0"
- c:identifier-prefixes="G"
- c:symbol-prefixes="g">
- <alias name="SignalCMarshaller" c:type="GSignalCMarshaller">
- <doc xml:space="preserve">This is the signature of marshaller functions, required to marshall
- arrays of parameter values to signal emissions into C language callback
- invocations. It is merely an alias to #GClosureMarshal since the #GClosure
- mechanism takes over responsibility of actual function invocation for the
- signal system.</doc>
- <type name="ClosureMarshal" c:type="GClosureMarshal"/>
- </alias>
- <alias name="SignalCVaMarshaller" c:type="GSignalCVaMarshaller">
- <doc xml:space="preserve">This is the signature of va_list marshaller functions, an optional
- marshaller that can be used in some situations to avoid
- marshalling the signal argument into GValues.</doc>
- <type name="VaClosureMarshal" c:type="GVaClosureMarshal"/>
- </alias>
- <alias name="Type" c:type="GType">
- <doc xml:space="preserve">A numerical value which represents the unique identifier of a registered
- type.</doc>
- <type name="gsize" c:type="gsize"/>
- </alias>
- <callback name="BaseFinalizeFunc" c:type="GBaseFinalizeFunc">
- <doc xml:space="preserve">A callback function used by the type system to finalize those portions
- of a derived types class structure that were setup from the corresponding
- GBaseInitFunc() function. Class finalization basically works the inverse
- way in which class initialization is performed.
- See GClassInitFunc() for a discussion of the class initialization process.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="g_class" transfer-ownership="none">
- <doc xml:space="preserve">The #GTypeClass structure to finalize</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="BaseInitFunc" c:type="GBaseInitFunc">
- <doc xml:space="preserve">A callback function used by the type system to do base initialization
- of the class structures of derived types. It is called as part of the
- initialization process of all derived classes and should reallocate
- or reset all dynamic class members copied over from the parent class.
- For example, class members (such as strings) that are not sufficiently
- handled by a plain memory copy of the parent class into the derived class
- have to be altered. See GClassInitFunc() for a discussion of the class
- initialization process.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="g_class" transfer-ownership="none">
- <doc xml:space="preserve">The #GTypeClass structure to initialize</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <class name="Binding"
- c:symbol-prefix="binding"
- c:type="GBinding"
- version="2.26"
- parent="Object"
- glib:type-name="GBinding"
- glib:get-type="g_binding_get_type">
- <doc xml:space="preserve">#GBinding is the representation of a binding between a property on a
- #GObject instance (or source) and another property on another #GObject
- instance (or target). Whenever the source property changes, the same
- value is applied to the target property; for instance, the following
- binding:
- |[<!-- language="C" -->
- g_object_bind_property (object1, "property-a",
- object2, "property-b",
- G_BINDING_DEFAULT);
- ]|
- will cause the property named "property-b" of @object2 to be updated
- every time g_object_set() or the specific accessor changes the value of
- the property "property-a" of @object1.
- It is possible to create a bidirectional binding between two properties
- of two #GObject instances, so that if either property changes, the
- other is updated as well, for instance:
- |[<!-- language="C" -->
- g_object_bind_property (object1, "property-a",
- object2, "property-b",
- G_BINDING_BIDIRECTIONAL);
- ]|
- will keep the two properties in sync.
- It is also possible to set a custom transformation function (in both
- directions, in case of a bidirectional binding) to apply a custom
- transformation from the source value to the target value before
- applying it; for instance, the following binding:
- |[<!-- language="C" -->
- g_object_bind_property_full (adjustment1, "value",
- adjustment2, "value",
- G_BINDING_BIDIRECTIONAL,
- celsius_to_fahrenheit,
- fahrenheit_to_celsius,
- NULL, NULL);
- ]|
- will keep the "value" property of the two adjustments in sync; the
- @celsius_to_fahrenheit function will be called whenever the "value"
- property of @adjustment1 changes and will transform the current value
- of the property before applying it to the "value" property of @adjustment2.
- Vice versa, the @fahrenheit_to_celsius function will be called whenever
- the "value" property of @adjustment2 changes, and will transform the
- current value of the property before applying it to the "value" property
- of @adjustment1.
- Note that #GBinding does not resolve cycles by itself; a cycle like
- |[
- object1:propertyA -> object2:propertyB
- object2:propertyB -> object3:propertyC
- object3:propertyC -> object1:propertyA
- ]|
- might lead to an infinite loop. The loop, in this particular case,
- can be avoided if the objects emit the #GObject::notify signal only
- if the value has effectively been changed. A binding is implemented
- using the #GObject::notify signal, so it is susceptible to all the
- various ways of blocking a signal emission, like g_signal_stop_emission()
- or g_signal_handler_block().
- A binding will be severed, and the resources it allocates freed, whenever
- either one of the #GObject instances it refers to are finalized, or when
- the #GBinding instance loses its last reference.
- Bindings for languages with garbage collection can use
- g_binding_unbind() to explicitly release a binding between the source
- and target properties, instead of relying on the last reference on the
- binding, source, and target instances to drop.
- #GBinding is available since GObject 2.26</doc>
- <method name="get_flags"
- c:identifier="g_binding_get_flags"
- version="2.26">
- <doc xml:space="preserve">Retrieves the flags passed when constructing the #GBinding.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GBindingFlags used by the #GBinding</doc>
- <type name="BindingFlags" c:type="GBindingFlags"/>
- </return-value>
- <parameters>
- <instance-parameter name="binding" transfer-ownership="none">
- <doc xml:space="preserve">a #GBinding</doc>
- <type name="Binding" c:type="GBinding*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_source"
- c:identifier="g_binding_get_source"
- version="2.26">
- <doc xml:space="preserve">Retrieves the #GObject instance used as the source of the binding.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the source #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </return-value>
- <parameters>
- <instance-parameter name="binding" transfer-ownership="none">
- <doc xml:space="preserve">a #GBinding</doc>
- <type name="Binding" c:type="GBinding*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_source_property"
- c:identifier="g_binding_get_source_property"
- version="2.26">
- <doc xml:space="preserve">Retrieves the name of the property of #GBinding:source used as the source
- of the binding.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the name of the source property</doc>
- <type name="utf8" c:type="const gchar*"/>
- </return-value>
- <parameters>
- <instance-parameter name="binding" transfer-ownership="none">
- <doc xml:space="preserve">a #GBinding</doc>
- <type name="Binding" c:type="GBinding*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_target"
- c:identifier="g_binding_get_target"
- version="2.26">
- <doc xml:space="preserve">Retrieves the #GObject instance used as the target of the binding.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the target #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </return-value>
- <parameters>
- <instance-parameter name="binding" transfer-ownership="none">
- <doc xml:space="preserve">a #GBinding</doc>
- <type name="Binding" c:type="GBinding*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_target_property"
- c:identifier="g_binding_get_target_property"
- version="2.26">
- <doc xml:space="preserve">Retrieves the name of the property of #GBinding:target used as the target
- of the binding.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the name of the target property</doc>
- <type name="utf8" c:type="const gchar*"/>
- </return-value>
- <parameters>
- <instance-parameter name="binding" transfer-ownership="none">
- <doc xml:space="preserve">a #GBinding</doc>
- <type name="Binding" c:type="GBinding*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="unbind" c:identifier="g_binding_unbind" version="2.38">
- <doc xml:space="preserve">Explicitly releases the binding between the source and the target
- property expressed by @binding.
- This function will release the reference that is being held on
- the @binding instance; if you want to hold on to the #GBinding instance
- after calling g_binding_unbind(), you will need to hold a reference
- to it.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="binding" transfer-ownership="none">
- <doc xml:space="preserve">a #GBinding</doc>
- <type name="Binding" c:type="GBinding*"/>
- </instance-parameter>
- </parameters>
- </method>
- <property name="flags"
- version="2.26"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">Flags to be used to control the #GBinding</doc>
- <type name="BindingFlags"/>
- </property>
- <property name="source"
- version="2.26"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The #GObject that should be used as the source of the binding</doc>
- <type name="Object"/>
- </property>
- <property name="source-property"
- version="2.26"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The name of the property of #GBinding:source that should be used
- as the source of the binding</doc>
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="target"
- version="2.26"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The #GObject that should be used as the target of the binding</doc>
- <type name="Object"/>
- </property>
- <property name="target-property"
- version="2.26"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The name of the property of #GBinding:target that should be used
- as the target of the binding</doc>
- <type name="utf8" c:type="gchar*"/>
- </property>
- </class>
- <bitfield name="BindingFlags"
- version="2.26"
- glib:type-name="GBindingFlags"
- glib:get-type="g_binding_flags_get_type"
- c:type="GBindingFlags">
- <doc xml:space="preserve">Flags to be passed to g_object_bind_property() or
- g_object_bind_property_full().
- This enumeration can be extended at later date.</doc>
- <member name="default"
- value="0"
- c:identifier="G_BINDING_DEFAULT"
- glib:nick="default">
- <doc xml:space="preserve">The default binding; if the source property
- changes, the target property is updated with its value.</doc>
- </member>
- <member name="bidirectional"
- value="1"
- c:identifier="G_BINDING_BIDIRECTIONAL"
- glib:nick="bidirectional">
- <doc xml:space="preserve">Bidirectional binding; if either the
- property of the source or the property of the target changes,
- the other is updated.</doc>
- </member>
- <member name="sync_create"
- value="2"
- c:identifier="G_BINDING_SYNC_CREATE"
- glib:nick="sync-create">
- <doc xml:space="preserve">Synchronize the values of the source and
- target properties when creating the binding; the direction of
- the synchronization is always from the source to the target.</doc>
- </member>
- <member name="invert_boolean"
- value="4"
- c:identifier="G_BINDING_INVERT_BOOLEAN"
- glib:nick="invert-boolean">
- <doc xml:space="preserve">If the two properties being bound are
- booleans, setting one to %TRUE will result in the other being
- set to %FALSE and vice versa. This flag will only work for
- boolean properties, and cannot be used when passing custom
- transformation functions to g_object_bind_property_full().</doc>
- </member>
- </bitfield>
- <callback name="BindingTransformFunc"
- c:type="GBindingTransformFunc"
- version="2.26">
- <doc xml:space="preserve">A function to be called to transform @from_value to @to_value. If
- this is the @transform_to function of a binding, then @from_value
- is the @source_property on the @source object, and @to_value is the
- @target_property on the @target object. If this is the
- @transform_from function of a %G_BINDING_BIDIRECTIONAL binding,
- then those roles are reversed.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the transformation was successful, and %FALSE
- otherwise</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="binding" transfer-ownership="none">
- <doc xml:space="preserve">a #GBinding</doc>
- <type name="Binding" c:type="GBinding*"/>
- </parameter>
- <parameter name="from_value" transfer-ownership="none">
- <doc xml:space="preserve">the #GValue containing the value to transform</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="to_value" transfer-ownership="none">
- <doc xml:space="preserve">the #GValue in which to store the transformed value</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="3">
- <doc xml:space="preserve">data passed to the transform function</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="BoxedCopyFunc" c:type="GBoxedCopyFunc">
- <doc xml:space="preserve">This function is provided by the user and should produce a copy
- of the passed in boxed structure.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The newly created copy of the boxed structure.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="boxed" transfer-ownership="none">
- <doc xml:space="preserve">The boxed structure to be copied.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="BoxedFreeFunc" c:type="GBoxedFreeFunc">
- <doc xml:space="preserve">This function is provided by the user and should free the boxed
- structure passed.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="boxed" transfer-ownership="none">
- <doc xml:space="preserve">The boxed structure to be freed.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="CClosure" c:type="GCClosure">
- <doc xml:space="preserve">A #GCClosure is a specialization of #GClosure for C function callbacks.</doc>
- <field name="closure" writable="1">
- <doc xml:space="preserve">the #GClosure</doc>
- <type name="Closure" c:type="GClosure"/>
- </field>
- <field name="callback" writable="1">
- <doc xml:space="preserve">the callback function</doc>
- <type name="gpointer" c:type="gpointer"/>
- </field>
- <function name="marshal_BOOLEAN__BOXED_BOXED"
- c:identifier="g_cclosure_marshal_BOOLEAN__BOXED_BOXED">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with handlers that
- take two boxed pointers as arguments and return a boolean. If you
- have such a signal, you will probably also need to use an
- accumulator, such as g_signal_accumulator_true_handled().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_BOOLEAN__BOXED_BOXEDv"
- c:identifier="g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_BOOLEAN__BOXED_BOXED().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_BOOLEAN__FLAGS"
- c:identifier="g_cclosure_marshal_BOOLEAN__FLAGS">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with handlers that
- take a flags type as an argument and return a boolean. If you have
- such a signal, you will probably also need to use an accumulator,
- such as g_signal_accumulator_true_handled().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_BOOLEAN__FLAGSv"
- c:identifier="g_cclosure_marshal_BOOLEAN__FLAGSv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_BOOLEAN__FLAGS().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_STRING__OBJECT_POINTER"
- c:identifier="g_cclosure_marshal_STRING__OBJECT_POINTER">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with handlers that
- take a #GObject and a pointer and produce a string. It is highly
- unlikely that your signal handler fits this description.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_STRING__OBJECT_POINTERv"
- c:identifier="g_cclosure_marshal_STRING__OBJECT_POINTERv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_STRING__OBJECT_POINTER().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__BOOLEAN"
- c:identifier="g_cclosure_marshal_VOID__BOOLEAN">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- boolean argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__BOOLEANv"
- c:identifier="g_cclosure_marshal_VOID__BOOLEANv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__BOOLEAN().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__BOXED"
- c:identifier="g_cclosure_marshal_VOID__BOXED">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- argument which is any boxed pointer type.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__BOXEDv"
- c:identifier="g_cclosure_marshal_VOID__BOXEDv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__BOXED().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__CHAR"
- c:identifier="g_cclosure_marshal_VOID__CHAR">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- character argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__CHARv"
- c:identifier="g_cclosure_marshal_VOID__CHARv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__CHAR().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__DOUBLE"
- c:identifier="g_cclosure_marshal_VOID__DOUBLE">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with one
- double-precision floating point argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__DOUBLEv"
- c:identifier="g_cclosure_marshal_VOID__DOUBLEv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__DOUBLE().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__ENUM"
- c:identifier="g_cclosure_marshal_VOID__ENUM">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- argument with an enumerated type.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__ENUMv"
- c:identifier="g_cclosure_marshal_VOID__ENUMv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__ENUM().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__FLAGS"
- c:identifier="g_cclosure_marshal_VOID__FLAGS">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- argument with a flags types.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__FLAGSv"
- c:identifier="g_cclosure_marshal_VOID__FLAGSv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__FLAGS().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__FLOAT"
- c:identifier="g_cclosure_marshal_VOID__FLOAT">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with one
- single-precision floating point argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__FLOATv"
- c:identifier="g_cclosure_marshal_VOID__FLOATv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__FLOAT().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__INT"
- c:identifier="g_cclosure_marshal_VOID__INT">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- integer argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__INTv"
- c:identifier="g_cclosure_marshal_VOID__INTv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__INT().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__LONG"
- c:identifier="g_cclosure_marshal_VOID__LONG">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with with a single
- long integer argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__LONGv"
- c:identifier="g_cclosure_marshal_VOID__LONGv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__LONG().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__OBJECT"
- c:identifier="g_cclosure_marshal_VOID__OBJECT">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- #GObject argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__OBJECTv"
- c:identifier="g_cclosure_marshal_VOID__OBJECTv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__OBJECT().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__PARAM"
- c:identifier="g_cclosure_marshal_VOID__PARAM">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- argument of type #GParamSpec.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__PARAMv"
- c:identifier="g_cclosure_marshal_VOID__PARAMv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__PARAM().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__POINTER"
- c:identifier="g_cclosure_marshal_VOID__POINTER">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single raw
- pointer argument type.
- If it is possible, it is better to use one of the more specific
- functions such as g_cclosure_marshal_VOID__OBJECT() or
- g_cclosure_marshal_VOID__OBJECT().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__POINTERv"
- c:identifier="g_cclosure_marshal_VOID__POINTERv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__POINTER().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__STRING"
- c:identifier="g_cclosure_marshal_VOID__STRING">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single string
- argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__STRINGv"
- c:identifier="g_cclosure_marshal_VOID__STRINGv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__STRING().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__UCHAR"
- c:identifier="g_cclosure_marshal_VOID__UCHAR">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- unsigned character argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__UCHARv"
- c:identifier="g_cclosure_marshal_VOID__UCHARv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UCHAR().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__UINT"
- c:identifier="g_cclosure_marshal_VOID__UINT">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with with a single
- unsigned integer argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__UINT_POINTER"
- c:identifier="g_cclosure_marshal_VOID__UINT_POINTER">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a unsigned int
- and a pointer as arguments.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__UINT_POINTERv"
- c:identifier="g_cclosure_marshal_VOID__UINT_POINTERv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UINT_POINTER().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__UINTv"
- c:identifier="g_cclosure_marshal_VOID__UINTv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UINT().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__ULONG"
- c:identifier="g_cclosure_marshal_VOID__ULONG">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- unsigned long integer argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__ULONGv"
- c:identifier="g_cclosure_marshal_VOID__ULONGv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__ULONG().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__VARIANT"
- c:identifier="g_cclosure_marshal_VOID__VARIANT">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- #GVariant argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__VARIANTv"
- c:identifier="g_cclosure_marshal_VOID__VARIANTv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__VARIANT().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__VOID"
- c:identifier="g_cclosure_marshal_VOID__VOID">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with no arguments.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_VOID__VOIDv"
- c:identifier="g_cclosure_marshal_VOID__VOIDv"
- introspectable="0">
- <doc xml:space="preserve">The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__VOID().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_generic"
- c:identifier="g_cclosure_marshal_generic"
- version="2.30">
- <doc xml:space="preserve">A generic marshaller function implemented via
- [libffi](http://sourceware.org/libffi/).
- Normally this function is not passed explicitly to g_signal_new(),
- but used automatically by GLib when specifying a %NULL marshaller.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_gvalue" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="marshal_generic_va"
- c:identifier="g_cclosure_marshal_generic_va"
- version="2.30"
- introspectable="0">
- <doc xml:space="preserve">A generic #GVaClosureMarshal function implemented via
- [libffi](http://sourceware.org/libffi/).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is
- invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args_list" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args_list.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="new" c:identifier="g_cclosure_new" introspectable="0">
- <doc xml:space="preserve">Creates a new closure which invokes @callback_func with @user_data as
- the last parameter.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #GCClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </return-value>
- <parameters>
- <parameter name="callback_func"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="1">
- <doc xml:space="preserve">the function to invoke</doc>
- <type name="Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="0">
- <doc xml:space="preserve">user data to pass to @callback_func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy_data" transfer-ownership="none">
- <doc xml:space="preserve">destroy notify to be called when @user_data is no longer used</doc>
- <type name="ClosureNotify" c:type="GClosureNotify"/>
- </parameter>
- </parameters>
- </function>
- <function name="new_object"
- c:identifier="g_cclosure_new_object"
- introspectable="0">
- <doc xml:space="preserve">A variant of g_cclosure_new() which uses @object as @user_data and
- calls g_object_watch_closure() on @object and the created
- closure. This function is useful when you have a callback closely
- associated with a #GObject, and want the callback to no longer run
- after the object is is freed.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #GCClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </return-value>
- <parameters>
- <parameter name="callback_func" transfer-ownership="none">
- <doc xml:space="preserve">the function to invoke</doc>
- <type name="Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject pointer to pass to @callback_func</doc>
- <type name="Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </function>
- <function name="new_object_swap"
- c:identifier="g_cclosure_new_object_swap"
- introspectable="0">
- <doc xml:space="preserve">A variant of g_cclosure_new_swap() which uses @object as @user_data
- and calls g_object_watch_closure() on @object and the created
- closure. This function is useful when you have a callback closely
- associated with a #GObject, and want the callback to no longer run
- after the object is is freed.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #GCClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </return-value>
- <parameters>
- <parameter name="callback_func" transfer-ownership="none">
- <doc xml:space="preserve">the function to invoke</doc>
- <type name="Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject pointer to pass to @callback_func</doc>
- <type name="Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </function>
- <function name="new_swap"
- c:identifier="g_cclosure_new_swap"
- introspectable="0">
- <doc xml:space="preserve">Creates a new closure which invokes @callback_func with @user_data as
- the first parameter.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #GCClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </return-value>
- <parameters>
- <parameter name="callback_func"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="1">
- <doc xml:space="preserve">the function to invoke</doc>
- <type name="Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="0">
- <doc xml:space="preserve">user data to pass to @callback_func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy_data" transfer-ownership="none">
- <doc xml:space="preserve">destroy notify to be called when @user_data is no longer used</doc>
- <type name="ClosureNotify" c:type="GClosureNotify"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <callback name="Callback" c:type="GCallback">
- <doc xml:space="preserve">The type used for callback functions in structure definitions and function
- signatures. This doesn't mean that all callback functions must take no
- parameters and return void. The required signature of a callback function
- is determined by the context in which is used (e.g. the signal to which it
- is connected). Use G_CALLBACK() to cast the callback function to a #GCallback.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- <callback name="ClassFinalizeFunc" c:type="GClassFinalizeFunc">
- <doc xml:space="preserve">A callback function used by the type system to finalize a class.
- This function is rarely needed, as dynamically allocated class resources
- should be handled by GBaseInitFunc() and GBaseFinalizeFunc().
- Also, specification of a GClassFinalizeFunc() in the #GTypeInfo
- structure of a static type is invalid, because classes of static types
- will never be finalized (they are artificially kept alive when their
- reference count drops to zero).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="g_class" transfer-ownership="none">
- <doc xml:space="preserve">The #GTypeClass structure to finalize</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </parameter>
- <parameter name="class_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The @class_data member supplied via the #GTypeInfo structure</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="ClassInitFunc" c:type="GClassInitFunc">
- <doc xml:space="preserve">A callback function used by the type system to initialize the class
- of a specific type. This function should initialize all static class
- members.
- The initialization process of a class involves:
- - Copying common members from the parent class over to the
- derived class structure.
- - Zero initialization of the remaining members not copied
- over from the parent class.
- - Invocation of the GBaseInitFunc() initializers of all parent
- types and the class' type.
- - Invocation of the class' GClassInitFunc() initializer.
- Since derived classes are partially initialized through a memory copy
- of the parent class, the general rule is that GBaseInitFunc() and
- GBaseFinalizeFunc() should take care of necessary reinitialization
- and release of those class members that were introduced by the type
- that specified these GBaseInitFunc()/GBaseFinalizeFunc().
- GClassInitFunc() should only care about initializing static
- class members, while dynamic class members (such as allocated strings
- or reference counted resources) are better handled by a GBaseInitFunc()
- for this type, so proper initialization of the dynamic class members
- is performed for class initialization of derived types as well.
- An example may help to correspond the intend of the different class
- initializers:
- |[<!-- language="C" -->
- typedef struct {
- GObjectClass parent_class;
- gint static_integer;
- gchar *dynamic_string;
- } TypeAClass;
- static void
- type_a_base_class_init (TypeAClass *class)
- {
- class->dynamic_string = g_strdup ("some string");
- }
- static void
- type_a_base_class_finalize (TypeAClass *class)
- {
- g_free (class->dynamic_string);
- }
- static void
- type_a_class_init (TypeAClass *class)
- {
- class->static_integer = 42;
- }
- typedef struct {
- TypeAClass parent_class;
- gfloat static_float;
- GString *dynamic_gstring;
- } TypeBClass;
- static void
- type_b_base_class_init (TypeBClass *class)
- {
- class->dynamic_gstring = g_string_new ("some other string");
- }
- static void
- type_b_base_class_finalize (TypeBClass *class)
- {
- g_string_free (class->dynamic_gstring);
- }
- static void
- type_b_class_init (TypeBClass *class)
- {
- class->static_float = 3.14159265358979323846;
- }
- ]|
- Initialization of TypeBClass will first cause initialization of
- TypeAClass (derived classes reference their parent classes, see
- g_type_class_ref() on this).
- Initialization of TypeAClass roughly involves zero-initializing its fields,
- then calling its GBaseInitFunc() type_a_base_class_init() to allocate
- its dynamic members (dynamic_string), and finally calling its GClassInitFunc()
- type_a_class_init() to initialize its static members (static_integer).
- The first step in the initialization process of TypeBClass is then
- a plain memory copy of the contents of TypeAClass into TypeBClass and
- zero-initialization of the remaining fields in TypeBClass.
- The dynamic members of TypeAClass within TypeBClass now need
- reinitialization which is performed by calling type_a_base_class_init()
- with an argument of TypeBClass.
- After that, the GBaseInitFunc() of TypeBClass, type_b_base_class_init()
- is called to allocate the dynamic members of TypeBClass (dynamic_gstring),
- and finally the GClassInitFunc() of TypeBClass, type_b_class_init(),
- is called to complete the initialization process with the static members
- (static_float).
- Corresponding finalization counter parts to the GBaseInitFunc() functions
- have to be provided to release allocated resources at class finalization
- time.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="g_class" transfer-ownership="none">
- <doc xml:space="preserve">The #GTypeClass structure to initialize.</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </parameter>
- <parameter name="class_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The @class_data member supplied via the #GTypeInfo structure.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="Closure"
- c:type="GClosure"
- glib:type-name="GClosure"
- glib:get-type="g_closure_get_type"
- c:symbol-prefix="closure">
- <doc xml:space="preserve">A #GClosure represents a callback supplied by the programmer. It
- will generally comprise a function of some kind and a marshaller
- used to call it. It is the responsibility of the marshaller to
- convert the arguments for the invocation from #GValues into
- a suitable form, perform the callback on the converted arguments,
- and transform the return value back into a #GValue.
- In the case of C programs, a closure usually just holds a pointer
- to a function and maybe a data argument, and the marshaller
- converts between #GValue and native C types. The GObject
- library provides the #GCClosure type for this purpose. Bindings for
- other languages need marshallers which convert between #GValue<!--
- -->s and suitable representations in the runtime of the language in
- order to use functions written in that languages as callbacks.
- Within GObject, closures play an important role in the
- implementation of signals. When a signal is registered, the
- @c_marshaller argument to g_signal_new() specifies the default C
- marshaller for any closure which is connected to this
- signal. GObject provides a number of C marshallers for this
- purpose, see the g_cclosure_marshal_*() functions. Additional C
- marshallers can be generated with the [glib-genmarshal][glib-genmarshal]
- utility. Closures can be explicitly connected to signals with
- g_signal_connect_closure(), but it usually more convenient to let
- GObject create a closure automatically by using one of the
- g_signal_connect_*() functions which take a callback function/user
- data pair.
- Using closures has a number of important advantages over a simple
- callback function/data pointer combination:
- - Closures allow the callee to get the types of the callback parameters,
- which means that language bindings don't have to write individual glue
- for each callback type.
- - The reference counting of #GClosure makes it easy to handle reentrancy
- right; if a callback is removed while it is being invoked, the closure
- and its parameters won't be freed until the invocation finishes.
- - g_closure_invalidate() and invalidation notifiers allow callbacks to be
- automatically removed when the objects they point to go away.</doc>
- <field name="ref_count" readable="0" bits="15" private="1">
- <type name="guint" c:type="volatile guint"/>
- </field>
- <field name="meta_marshal_nouse" readable="0" bits="1" private="1">
- <type name="guint" c:type="volatile guint"/>
- </field>
- <field name="n_guards" readable="0" bits="1" private="1">
- <type name="guint" c:type="volatile guint"/>
- </field>
- <field name="n_fnotifiers" readable="0" bits="2" private="1">
- <type name="guint" c:type="volatile guint"/>
- </field>
- <field name="n_inotifiers" readable="0" bits="8" private="1">
- <type name="guint" c:type="volatile guint"/>
- </field>
- <field name="in_inotify" readable="0" bits="1" private="1">
- <type name="guint" c:type="volatile guint"/>
- </field>
- <field name="floating" readable="0" bits="1" private="1">
- <type name="guint" c:type="volatile guint"/>
- </field>
- <field name="derivative_flag" readable="0" bits="1" private="1">
- <type name="guint" c:type="volatile guint"/>
- </field>
- <field name="in_marshal" writable="1" bits="1">
- <doc xml:space="preserve">Indicates whether the closure is currently being invoked with
- g_closure_invoke()</doc>
- <type name="guint" c:type="volatile guint"/>
- </field>
- <field name="is_invalid" writable="1" bits="1">
- <doc xml:space="preserve">Indicates whether the closure has been invalidated by
- g_closure_invalidate()</doc>
- <type name="guint" c:type="volatile guint"/>
- </field>
- <field name="marshal">
- <callback name="marshal">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint" transfer-ownership="none">
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data" transfer-ownership="none">
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="data" readable="0" private="1">
- <type name="gpointer" c:type="gpointer"/>
- </field>
- <field name="notifiers" readable="0" private="1">
- <type name="ClosureNotifyData" c:type="GClosureNotifyData*"/>
- </field>
- <constructor name="new_object" c:identifier="g_closure_new_object">
- <doc xml:space="preserve">A variant of g_closure_new_simple() which stores @object in the
- @data field of the closure and calls g_object_watch_closure() on
- @object and the created closure. This function is mainly useful
- when implementing new types of closures.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly allocated #GClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </return-value>
- <parameters>
- <parameter name="sizeof_closure" transfer-ownership="none">
- <doc xml:space="preserve">the size of the structure to allocate, must be at least
- `sizeof (GClosure)`</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject pointer to store in the @data field of the newly
- allocated #GClosure</doc>
- <type name="Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_simple" c:identifier="g_closure_new_simple">
- <doc xml:space="preserve">Allocates a struct of the given size and initializes the initial
- part as a #GClosure. This function is mainly useful when
- implementing new types of closures.
- |[<!-- language="C" -->
- typedef struct _MyClosure MyClosure;
- struct _MyClosure
- {
- GClosure closure;
- // extra data goes here
- };
- static void
- my_closure_finalize (gpointer notify_data,
- GClosure *closure)
- {
- MyClosure *my_closure = (MyClosure *)closure;
- // free extra data here
- }
- MyClosure *my_closure_new (gpointer data)
- {
- GClosure *closure;
- MyClosure *my_closure;
- closure = g_closure_new_simple (sizeof (MyClosure), data);
- my_closure = (MyClosure *) closure;
- // initialize extra data here
- g_closure_add_finalize_notifier (closure, notify_data,
- my_closure_finalize);
- return my_closure;
- }
- ]|</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly allocated #GClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </return-value>
- <parameters>
- <parameter name="sizeof_closure" transfer-ownership="none">
- <doc xml:space="preserve">the size of the structure to allocate, must be at least
- `sizeof (GClosure)`</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to store in the @data field of the newly allocated #GClosure</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="add_finalize_notifier"
- c:identifier="g_closure_add_finalize_notifier"
- introspectable="0">
- <doc xml:space="preserve">Registers a finalization notifier which will be called when the
- reference count of @closure goes down to 0. Multiple finalization
- notifiers on a single closure are invoked in unspecified order. If
- a single call to g_closure_unref() results in the closure being
- both invalidated and finalized, then the invalidate notifiers will
- be run before the finalize notifiers.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">a #GClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </instance-parameter>
- <parameter name="notify_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="1">
- <doc xml:space="preserve">data to pass to @notify_func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="notify_func"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the callback function to register</doc>
- <type name="ClosureNotify" c:type="GClosureNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_invalidate_notifier"
- c:identifier="g_closure_add_invalidate_notifier"
- introspectable="0">
- <doc xml:space="preserve">Registers an invalidation notifier which will be called when the
- @closure is invalidated with g_closure_invalidate(). Invalidation
- notifiers are invoked before finalization notifiers, in an
- unspecified order.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">a #GClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </instance-parameter>
- <parameter name="notify_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="1">
- <doc xml:space="preserve">data to pass to @notify_func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="notify_func"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the callback function to register</doc>
- <type name="ClosureNotify" c:type="GClosureNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_marshal_guards"
- c:identifier="g_closure_add_marshal_guards"
- introspectable="0">
- <doc xml:space="preserve">Adds a pair of notifiers which get invoked before and after the
- closure callback, respectively. This is typically used to protect
- the extra arguments for the duration of the callback. See
- g_object_watch_closure() for an example of marshal guards.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">a #GClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </instance-parameter>
- <parameter name="pre_marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="1">
- <doc xml:space="preserve">data to pass
- to @pre_marshal_notify</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="pre_marshal_notify"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="2">
- <doc xml:space="preserve">a function to call before the closure callback</doc>
- <type name="ClosureNotify" c:type="GClosureNotify"/>
- </parameter>
- <parameter name="post_marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="3">
- <doc xml:space="preserve">data to pass
- to @post_marshal_notify</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="post_marshal_notify"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a function to call after the closure callback</doc>
- <type name="ClosureNotify" c:type="GClosureNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="invalidate" c:identifier="g_closure_invalidate">
- <doc xml:space="preserve">Sets a flag on the closure to indicate that its calling
- environment has become invalid, and thus causes any future
- invocations of g_closure_invoke() on this @closure to be
- ignored. Also, invalidation notifiers installed on the closure will
- be called at this point. Note that unless you are holding a
- reference to the closure yourself, the invalidation notifiers may
- unref the closure and cause it to be destroyed, so if you need to
- access the closure after calling g_closure_invalidate(), make sure
- that you've previously called g_closure_ref().
- Note that g_closure_invalidate() will also be called when the
- reference count of a closure drops to zero (unless it has already
- been invalidated before).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">GClosure to invalidate</doc>
- <type name="Closure" c:type="GClosure*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="invoke" c:identifier="g_closure_invoke">
- <doc xml:space="preserve">Invokes the closure, i.e. executes the callback represented by the @closure.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">a #GClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </instance-parameter>
- <parameter name="return_value"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure
- doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_values array</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">an array of
- #GValues holding the arguments on which to
- invoke the callback of @closure</doc>
- <array length="1" zero-terminated="0" c:type="GValue*">
- <type name="Value" c:type="GValue"/>
- </array>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a context-dependent invocation hint</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="ref" c:identifier="g_closure_ref">
- <doc xml:space="preserve">Increments the reference count on a closure to force it staying
- alive while the caller holds a pointer to it.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The @closure passed in, for convenience</doc>
- <type name="Closure" c:type="GClosure*"/>
- </return-value>
- <parameters>
- <instance-parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">#GClosure to increment the reference count on</doc>
- <type name="Closure" c:type="GClosure*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="remove_finalize_notifier"
- c:identifier="g_closure_remove_finalize_notifier"
- introspectable="0">
- <doc xml:space="preserve">Removes a finalization notifier.
- Notice that notifiers are automatically removed after they are run.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">a #GClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </instance-parameter>
- <parameter name="notify_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data which was passed to g_closure_add_finalize_notifier()
- when registering @notify_func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="notify_func" transfer-ownership="none">
- <doc xml:space="preserve">the callback function to remove</doc>
- <type name="ClosureNotify" c:type="GClosureNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_invalidate_notifier"
- c:identifier="g_closure_remove_invalidate_notifier"
- introspectable="0">
- <doc xml:space="preserve">Removes an invalidation notifier.
- Notice that notifiers are automatically removed after they are run.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">a #GClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </instance-parameter>
- <parameter name="notify_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data which was passed to g_closure_add_invalidate_notifier()
- when registering @notify_func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="notify_func" transfer-ownership="none">
- <doc xml:space="preserve">the callback function to remove</doc>
- <type name="ClosureNotify" c:type="GClosureNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_marshal"
- c:identifier="g_closure_set_marshal"
- introspectable="0">
- <doc xml:space="preserve">Sets the marshaller of @closure. The `marshal_data`
- of @marshal provides a way for a meta marshaller to provide additional
- information to the marshaller. (See g_closure_set_meta_marshal().) For
- GObject's C predefined marshallers (the g_cclosure_marshal_*()
- functions), what it provides is a callback function to use instead of
- @closure->callback.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">a #GClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </instance-parameter>
- <parameter name="marshal" transfer-ownership="none">
- <doc xml:space="preserve">a #GClosureMarshal function</doc>
- <type name="ClosureMarshal" c:type="GClosureMarshal"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_meta_marshal"
- c:identifier="g_closure_set_meta_marshal"
- introspectable="0">
- <doc xml:space="preserve">Sets the meta marshaller of @closure. A meta marshaller wraps
- @closure->marshal and modifies the way it is called in some
- fashion. The most common use of this facility is for C callbacks.
- The same marshallers (generated by [glib-genmarshal][glib-genmarshal]),
- are used everywhere, but the way that we get the callback function
- differs. In most cases we want to use @closure->callback, but in
- other cases we want to use some different technique to retrieve the
- callback function.
- For example, class closures for signals (see
- g_signal_type_cclosure_new()) retrieve the callback function from a
- fixed offset in the class structure. The meta marshaller retrieves
- the right callback and passes it to the marshaller as the
- @marshal_data argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">a #GClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </instance-parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="1">
- <doc xml:space="preserve">context-dependent data to pass
- to @meta_marshal</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="meta_marshal"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GClosureMarshal function</doc>
- <type name="ClosureMarshal" c:type="GClosureMarshal"/>
- </parameter>
- </parameters>
- </method>
- <method name="sink" c:identifier="g_closure_sink">
- <doc xml:space="preserve">Takes over the initial ownership of a closure. Each closure is
- initially created in a "floating" state, which means that the initial
- reference count is not owned by any caller. g_closure_sink() checks
- to see if the object is still floating, and if so, unsets the
- floating state and decreases the reference count. If the closure
- is not floating, g_closure_sink() does nothing. The reason for the
- existence of the floating state is to prevent cumbersome code
- sequences like:
- |[<!-- language="C" -->
- closure = g_cclosure_new (cb_func, cb_data);
- g_source_set_closure (source, closure);
- g_closure_unref (closure); // GObject doesn't really need this
- ]|
- Because g_source_set_closure() (and similar functions) take ownership of the
- initial reference count, if it is unowned, we instead can write:
- |[<!-- language="C" -->
- g_source_set_closure (source, g_cclosure_new (cb_func, cb_data));
- ]|
- Generally, this function is used together with g_closure_ref(). Ane example
- of storing a closure for later notification looks like:
- |[<!-- language="C" -->
- static GClosure *notify_closure = NULL;
- void
- foo_notify_set_closure (GClosure *closure)
- {
- if (notify_closure)
- g_closure_unref (notify_closure);
- notify_closure = closure;
- if (notify_closure)
- {
- g_closure_ref (notify_closure);
- g_closure_sink (notify_closure);
- }
- }
- ]|
- Because g_closure_sink() may decrement the reference count of a closure
- (if it hasn't been called on @closure yet) just like g_closure_unref(),
- g_closure_ref() should be called prior to this function.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">#GClosure to decrement the initial reference count on, if it's
- still being held</doc>
- <type name="Closure" c:type="GClosure*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="unref" c:identifier="g_closure_unref">
- <doc xml:space="preserve">Decrements the reference count of a closure after it was previously
- incremented by the same caller. If no other callers are using the
- closure, then the closure will be destroyed and freed.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">#GClosure to decrement the reference count on</doc>
- <type name="Closure" c:type="GClosure*"/>
- </instance-parameter>
- </parameters>
- </method>
- </record>
- <callback name="ClosureMarshal" c:type="GClosureMarshal">
- <doc xml:space="preserve">The type used for marshaller functions.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_values array</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">an array of
- #GValues holding the arguments on which to invoke the
- callback of @closure</doc>
- <array length="2" zero-terminated="0" c:type="GValue*">
- <type name="Value" c:type="GValue"/>
- </array>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the invocation hint given as the
- last argument to g_closure_invoke()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="ClosureNotify" c:type="GClosureNotify">
- <doc xml:space="preserve">The type used for the various notification callbacks which can be registered
- on closures.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data specified when registering the notification callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure on which the notification is emitted</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- </parameters>
- </callback>
- <record name="ClosureNotifyData" c:type="GClosureNotifyData">
- <field name="data" writable="1">
- <type name="gpointer" c:type="gpointer"/>
- </field>
- <field name="notify" writable="1">
- <type name="ClosureNotify" c:type="GClosureNotify"/>
- </field>
- </record>
- <bitfield name="ConnectFlags" c:type="GConnectFlags">
- <doc xml:space="preserve">The connection flags are used to specify the behaviour of a signal's
- connection.</doc>
- <member name="after" value="1" c:identifier="G_CONNECT_AFTER">
- <doc xml:space="preserve">whether the handler should be called before or after the
- default handler of the signal.</doc>
- </member>
- <member name="swapped" value="2" c:identifier="G_CONNECT_SWAPPED">
- <doc xml:space="preserve">whether the instance and data should be swapped when
- calling the handler; see g_signal_connect_swapped() for an example.</doc>
- </member>
- </bitfield>
- <record name="EnumClass" c:type="GEnumClass">
- <doc xml:space="preserve">The class of an enumeration type holds information about its
- possible values.</doc>
- <field name="g_type_class" writable="1">
- <doc xml:space="preserve">the parent class</doc>
- <type name="TypeClass" c:type="GTypeClass"/>
- </field>
- <field name="minimum" writable="1">
- <doc xml:space="preserve">the smallest possible value.</doc>
- <type name="gint" c:type="gint"/>
- </field>
- <field name="maximum" writable="1">
- <doc xml:space="preserve">the largest possible value.</doc>
- <type name="gint" c:type="gint"/>
- </field>
- <field name="n_values" writable="1">
- <doc xml:space="preserve">the number of possible values.</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="values" writable="1">
- <doc xml:space="preserve">an array of #GEnumValue structs describing the
- individual values.</doc>
- <type name="EnumValue" c:type="GEnumValue*"/>
- </field>
- </record>
- <record name="EnumValue" c:type="GEnumValue">
- <doc xml:space="preserve">A structure which contains a single enum value, its name, and its
- nickname.</doc>
- <field name="value" writable="1">
- <doc xml:space="preserve">the enum value</doc>
- <type name="gint" c:type="gint"/>
- </field>
- <field name="value_name" writable="1">
- <doc xml:space="preserve">the name of the value</doc>
- <type name="utf8" c:type="const gchar*"/>
- </field>
- <field name="value_nick" writable="1">
- <doc xml:space="preserve">the nickname of the value</doc>
- <type name="utf8" c:type="const gchar*"/>
- </field>
- </record>
- <record name="FlagsClass" c:type="GFlagsClass">
- <doc xml:space="preserve">The class of a flags type holds information about its
- possible values.</doc>
- <field name="g_type_class" writable="1">
- <doc xml:space="preserve">the parent class</doc>
- <type name="TypeClass" c:type="GTypeClass"/>
- </field>
- <field name="mask" writable="1">
- <doc xml:space="preserve">a mask covering all possible values.</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="n_values" writable="1">
- <doc xml:space="preserve">the number of possible values.</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="values" writable="1">
- <doc xml:space="preserve">an array of #GFlagsValue structs describing the
- individual values.</doc>
- <type name="FlagsValue" c:type="GFlagsValue*"/>
- </field>
- </record>
- <record name="FlagsValue" c:type="GFlagsValue">
- <doc xml:space="preserve">A structure which contains a single flags value, its name, and its
- nickname.</doc>
- <field name="value" writable="1">
- <doc xml:space="preserve">the flags value</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="value_name" writable="1">
- <doc xml:space="preserve">the name of the value</doc>
- <type name="utf8" c:type="const gchar*"/>
- </field>
- <field name="value_nick" writable="1">
- <doc xml:space="preserve">the nickname of the value</doc>
- <type name="utf8" c:type="const gchar*"/>
- </field>
- </record>
- <class name="InitiallyUnowned"
- c:symbol-prefix="initially_unowned"
- c:type="GInitiallyUnowned"
- parent="Object"
- glib:type-name="GInitiallyUnowned"
- glib:get-type="g_initially_unowned_get_type"
- glib:type-struct="InitiallyUnownedClass">
- <doc xml:space="preserve">All the fields in the GInitiallyUnowned structure
- are private to the #GInitiallyUnowned implementation and should never be
- accessed directly.</doc>
- <field name="g_type_instance">
- <type name="TypeInstance" c:type="GTypeInstance"/>
- </field>
- <field name="ref_count" readable="0" private="1">
- <type name="guint" c:type="volatile guint"/>
- </field>
- <field name="qdata" readable="0" private="1">
- <type name="GLib.Data" c:type="GData*"/>
- </field>
- </class>
- <record name="InitiallyUnownedClass"
- c:type="GInitiallyUnownedClass"
- glib:is-gtype-struct-for="InitiallyUnowned">
- <doc xml:space="preserve">The class structure for the GInitiallyUnowned type.</doc>
- <field name="g_type_class">
- <doc xml:space="preserve">the parent class</doc>
- <type name="TypeClass" c:type="GTypeClass"/>
- </field>
- <field name="construct_properties" readable="0" private="1">
- <type name="GLib.SList" c:type="GSList*">
- <type name="gpointer" c:type="gpointer"/>
- </type>
- </field>
- <field name="constructor" introspectable="0">
- <callback name="constructor" introspectable="0">
- <return-value>
- <type name="Object" c:type="GObject*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="n_construct_properties" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="construct_properties" transfer-ownership="none">
- <type name="ObjectConstructParam"
- c:type="GObjectConstructParam*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_property">
- <callback name="set_property">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </parameter>
- <parameter name="property_id" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_property">
- <callback name="get_property">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </parameter>
- <parameter name="property_id" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="dispose">
- <callback name="dispose">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="finalize">
- <callback name="finalize">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="dispatch_properties_changed">
- <callback name="dispatch_properties_changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </parameter>
- <parameter name="n_pspecs" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="pspecs" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec**"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="notify">
- <callback name="notify">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="constructed">
- <callback name="constructed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="flags" readable="0" private="1">
- <type name="gsize" c:type="gsize"/>
- </field>
- <field name="pdummy" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="6">
- <type name="gpointer" c:type="gpointer"/>
- </array>
- </field>
- </record>
- <callback name="InstanceInitFunc" c:type="GInstanceInitFunc">
- <doc xml:space="preserve">A callback function used by the type system to initialize a new
- instance of a type. This function initializes all instance members and
- allocates any resources required by it.
- Initialization of a derived instance involves calling all its parent
- types instance initializers, so the class member of the instance
- is altered during its initialization to always point to the class that
- belongs to the type the current initializer was introduced for.
- The extended members of @instance are guaranteed to have been filled with
- zeros before this function is called.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">The instance to initialize</doc>
- <type name="TypeInstance" c:type="GTypeInstance*"/>
- </parameter>
- <parameter name="g_class" transfer-ownership="none">
- <doc xml:space="preserve">The class of the type the instance is
- created for</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="InterfaceFinalizeFunc" c:type="GInterfaceFinalizeFunc">
- <doc xml:space="preserve">A callback function used by the type system to finalize an interface.
- This function should destroy any internal data and release any resources
- allocated by the corresponding GInterfaceInitFunc() function.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="g_iface" transfer-ownership="none">
- <doc xml:space="preserve">The interface structure to finalize</doc>
- <type name="TypeInterface" c:type="gpointer"/>
- </parameter>
- <parameter name="iface_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The @interface_data supplied via the #GInterfaceInfo structure</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="InterfaceInfo" c:type="GInterfaceInfo">
- <doc xml:space="preserve">A structure that provides information to the type system which is
- used specifically for managing interface types.</doc>
- <field name="interface_init" writable="1">
- <doc xml:space="preserve">location of the interface initialization function</doc>
- <type name="InterfaceInitFunc" c:type="GInterfaceInitFunc"/>
- </field>
- <field name="interface_finalize" writable="1">
- <doc xml:space="preserve">location of the interface finalization function</doc>
- <type name="InterfaceFinalizeFunc" c:type="GInterfaceFinalizeFunc"/>
- </field>
- <field name="interface_data" writable="1">
- <doc xml:space="preserve">user-supplied data passed to the interface init/finalize functions</doc>
- <type name="gpointer" c:type="gpointer"/>
- </field>
- </record>
- <callback name="InterfaceInitFunc" c:type="GInterfaceInitFunc">
- <doc xml:space="preserve">A callback function used by the type system to initialize a new
- interface. This function should initialize all internal data and
- allocate any resources required by the interface.
- The members of @iface_data are guaranteed to have been filled with
- zeros before this function is called.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="g_iface" transfer-ownership="none">
- <doc xml:space="preserve">The interface structure to initialize</doc>
- <type name="TypeInterface" c:type="gpointer"/>
- </parameter>
- <parameter name="iface_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The @interface_data supplied via the #GInterfaceInfo structure</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <class name="Object"
- c:symbol-prefix="object"
- c:type="GObject"
- glib:type-name="GObject"
- glib:get-type="g_object_get_type"
- glib:type-struct="ObjectClass">
- <doc xml:space="preserve">All the fields in the GObject structure are private
- to the #GObject implementation and should never be accessed directly.</doc>
- <constructor name="new"
- c:identifier="g_object_new"
- shadowed-by="newv"
- introspectable="0">
- <doc xml:space="preserve">Creates a new instance of a #GObject subtype and sets its properties.
- Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
- which are not explicitly specified are set to their default values.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new instance of
- @object_type</doc>
- <type name="Object" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="object_type" transfer-ownership="none">
- <doc xml:space="preserve">the type id of the #GObject subtype to instantiate</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="first_property_name" transfer-ownership="none">
- <doc xml:space="preserve">the name of the first property</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">the value of the first property, followed optionally by more
- name/value pairs, followed by %NULL</doc>
- <varargs/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_valist"
- c:identifier="g_object_new_valist"
- introspectable="0">
- <doc xml:space="preserve">Creates a new instance of a #GObject subtype and sets its properties.
- Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
- which are not explicitly specified are set to their default values.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new instance of @object_type</doc>
- <type name="Object" c:type="GObject*"/>
- </return-value>
- <parameters>
- <parameter name="object_type" transfer-ownership="none">
- <doc xml:space="preserve">the type id of the #GObject subtype to instantiate</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="first_property_name" transfer-ownership="none">
- <doc xml:space="preserve">the name of the first property</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="var_args" transfer-ownership="none">
- <doc xml:space="preserve">the value of the first property, followed optionally by more
- name/value pairs, followed by %NULL</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="newv" c:identifier="g_object_newv" shadows="new">
- <doc xml:space="preserve">Creates a new instance of a #GObject subtype and sets its properties.
- Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
- which are not explicitly specified are set to their default values.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new instance of
- @object_type</doc>
- <type name="Object" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="object_type" transfer-ownership="none">
- <doc xml:space="preserve">the type id of the #GObject subtype to instantiate</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="n_parameters" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @parameters array</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="parameters" transfer-ownership="none">
- <doc xml:space="preserve">an array of #GParameter</doc>
- <array length="1" zero-terminated="0" c:type="GParameter*">
- <type name="Parameter" c:type="GParameter"/>
- </array>
- </parameter>
- </parameters>
- </constructor>
- <function name="compat_control" c:identifier="g_object_compat_control">
- <return-value transfer-ownership="none">
- <type name="gsize" c:type="gsize"/>
- </return-value>
- <parameters>
- <parameter name="what" transfer-ownership="none">
- <type name="gsize" c:type="gsize"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="interface_find_property"
- c:identifier="g_object_interface_find_property"
- version="2.4">
- <doc xml:space="preserve">Find the #GParamSpec with the given name for an
- interface. Generally, the interface vtable passed in as @g_iface
- will be the default vtable from g_type_default_interface_ref(), or,
- if you know the interface has already been loaded,
- g_type_default_interface_peek().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GParamSpec for the property of the
- interface with the name @property_name, or %NULL if no
- such property exists.</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="g_iface" transfer-ownership="none">
- <doc xml:space="preserve">any interface vtable for the
- interface, or the default vtable for the interface</doc>
- <type name="TypeInterface" c:type="gpointer"/>
- </parameter>
- <parameter name="property_name" transfer-ownership="none">
- <doc xml:space="preserve">name of a property to lookup.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="interface_install_property"
- c:identifier="g_object_interface_install_property"
- version="2.4">
- <doc xml:space="preserve">Add a property to an interface; this is only useful for interfaces
- that are added to GObject-derived types. Adding a property to an
- interface forces all objects classes with that interface to have a
- compatible property. The compatible property could be a newly
- created #GParamSpec, but normally
- g_object_class_override_property() will be used so that the object
- class only needs to provide an implementation and inherits the
- property description, default value, bounds, and so forth from the
- interface property.
- This function is meant to be called from the interface's default
- vtable initialization function (the @class_init member of
- #GTypeInfo.) It must not be called after after @class_init has
- been called for any object types implementing this interface.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="g_iface" transfer-ownership="none">
- <doc xml:space="preserve">any interface vtable for the
- interface, or the default
- vtable for the interface.</doc>
- <type name="TypeInterface" c:type="gpointer"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">the #GParamSpec for the new property</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </function>
- <function name="interface_list_properties"
- c:identifier="g_object_interface_list_properties"
- version="2.4">
- <doc xml:space="preserve">Lists the properties of an interface.Generally, the interface
- vtable passed in as @g_iface will be the default vtable from
- g_type_default_interface_ref(), or, if you know the interface has
- already been loaded, g_type_default_interface_peek().</doc>
- <return-value transfer-ownership="container">
- <doc xml:space="preserve">a
- pointer to an array of pointers to #GParamSpec
- structures. The paramspecs are owned by GLib, but the
- array should be freed with g_free() when you are done with
- it.</doc>
- <array length="1" zero-terminated="0" c:type="GParamSpec**">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="g_iface" transfer-ownership="none">
- <doc xml:space="preserve">any interface vtable for the
- interface, or the default vtable for the interface</doc>
- <type name="TypeInterface" c:type="gpointer"/>
- </parameter>
- <parameter name="n_properties_p"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store number of properties returned.</doc>
- <type name="guint" c:type="guint*"/>
- </parameter>
- </parameters>
- </function>
- <virtual-method name="constructed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="dispatch_properties_changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="n_pspecs" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="pspecs" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec**"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="dispose">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="finalize">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_property">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="property_id" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="notify" invoker="notify">
- <doc xml:space="preserve">Emits a "notify" signal for the property @property_name on @object.
- When possible, eg. when signaling a property change from within the class
- that registered the property, you should use g_object_notify_by_pspec()
- instead.
- Note that emission of the notify signal may be blocked with
- g_object_freeze_notify(). In this case, the signal emissions are queued
- and will be emitted (in reverse order) when g_object_thaw_notify() is
- called.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="set_property">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="property_id" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="add_toggle_ref"
- c:identifier="g_object_add_toggle_ref"
- version="2.8"
- introspectable="0">
- <doc xml:space="preserve">Increases the reference count of the object by one and sets a
- callback to be called when all other references to the object are
- dropped, or when this is already the last reference to the object
- and another reference is established.
- This functionality is intended for binding @object to a proxy
- object managed by another memory manager. This is done with two
- paired references: the strong reference added by
- g_object_add_toggle_ref() and a reverse reference to the proxy
- object which is either a strong reference or weak reference.
- The setup is that when there are no other references to @object,
- only a weak reference is held in the reverse direction from @object
- to the proxy object, but when there are other references held to
- @object, a strong reference is held. The @notify callback is called
- when the reference from @object to the proxy object should be
- "toggled" from strong to weak (@is_last_ref true) or weak to strong
- (@is_last_ref false).
- Since a (normal) reference must be held to the object before
- calling g_object_add_toggle_ref(), the initial state of the reverse
- link is always strong.
- Multiple toggle references may be added to the same gobject,
- however if there are multiple toggle references to an object, none
- of them will ever be notified until all but one are removed. For
- this reason, you should only ever use a toggle reference if there
- is important state in the proxy object.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="notify" transfer-ownership="none" closure="1">
- <doc xml:space="preserve">a function to call when this reference is the
- last reference to the object, or is no longer
- the last reference.</doc>
- <type name="ToggleNotify" c:type="GToggleNotify"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to @notify</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_weak_pointer"
- c:identifier="g_object_add_weak_pointer"
- introspectable="0">
- <doc xml:space="preserve">Adds a weak reference from weak_pointer to @object to indicate that
- the pointer located at @weak_pointer_location is only valid during
- the lifetime of @object. When the @object is finalized,
- @weak_pointer will be set to %NULL.
- Note that as with g_object_weak_ref(), the weak references created by
- this method are not thread-safe: they cannot safely be used in one
- thread if the object's last g_object_unref() might happen in another
- thread. Use #GWeakRef if thread-safety is required.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">The object that should be weak referenced.</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="weak_pointer_location"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">The memory address
- of a pointer.</doc>
- <type name="gpointer" c:type="gpointer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="bind_property"
- c:identifier="g_object_bind_property"
- version="2.26">
- <doc xml:space="preserve">Creates a binding between @source_property on @source and @target_property
- on @target. Whenever the @source_property is changed the @target_property is
- updated using the same value. For instance:
- |[
- g_object_bind_property (action, "active", widget, "sensitive", 0);
- ]|
- Will result in the "sensitive" property of the widget #GObject instance to be
- updated with the same value of the "active" property of the action #GObject
- instance.
- If @flags contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
- if @target_property on @target changes then the @source_property on @source
- will be updated as well.
- The binding will automatically be removed when either the @source or the
- @target instances are finalized. To remove the binding without affecting the
- @source and the @target you can just call g_object_unref() on the returned
- #GBinding instance.
- A #GObject can have multiple bindings.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GBinding instance representing the
- binding between the two #GObject instances. The binding is released
- whenever the #GBinding reference count reaches zero.</doc>
- <type name="Binding" c:type="GBinding*"/>
- </return-value>
- <parameters>
- <instance-parameter name="source" transfer-ownership="none">
- <doc xml:space="preserve">the source #GObject</doc>
- <type name="Object" c:type="gpointer"/>
- </instance-parameter>
- <parameter name="source_property" transfer-ownership="none">
- <doc xml:space="preserve">the property on @source to bind</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="target" transfer-ownership="none">
- <doc xml:space="preserve">the target #GObject</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="target_property" transfer-ownership="none">
- <doc xml:space="preserve">the property on @target to bind</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags to pass to #GBinding</doc>
- <type name="BindingFlags" c:type="GBindingFlags"/>
- </parameter>
- </parameters>
- </method>
- <method name="bind_property_full"
- c:identifier="g_object_bind_property_full"
- shadowed-by="bind_property_with_closures"
- version="2.26">
- <doc xml:space="preserve">Complete version of g_object_bind_property().
- Creates a binding between @source_property on @source and @target_property
- on @target, allowing you to set the transformation functions to be used by
- the binding.
- If @flags contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
- if @target_property on @target changes then the @source_property on @source
- will be updated as well. The @transform_from function is only used in case
- of bidirectional bindings, otherwise it will be ignored
- The binding will automatically be removed when either the @source or the
- @target instances are finalized. To remove the binding without affecting the
- @source and the @target you can just call g_object_unref() on the returned
- #GBinding instance.
- A #GObject can have multiple bindings.
- The same @user_data parameter will be used for both @transform_to
- and @transform_from transformation functions; the @notify function will
- be called once, when the binding is removed. If you need different data
- for each transformation function, please use
- g_object_bind_property_with_closures() instead.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GBinding instance representing the
- binding between the two #GObject instances. The binding is released
- whenever the #GBinding reference count reaches zero.</doc>
- <type name="Binding" c:type="GBinding*"/>
- </return-value>
- <parameters>
- <instance-parameter name="source" transfer-ownership="none">
- <doc xml:space="preserve">the source #GObject</doc>
- <type name="Object" c:type="gpointer"/>
- </instance-parameter>
- <parameter name="source_property" transfer-ownership="none">
- <doc xml:space="preserve">the property on @source to bind</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="target" transfer-ownership="none">
- <doc xml:space="preserve">the target #GObject</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="target_property" transfer-ownership="none">
- <doc xml:space="preserve">the property on @target to bind</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags to pass to #GBinding</doc>
- <type name="BindingFlags" c:type="GBindingFlags"/>
- </parameter>
- <parameter name="transform_to"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="notified">
- <doc xml:space="preserve">the transformation function
- from the @source to the @target, or %NULL to use the default</doc>
- <type name="BindingTransformFunc" c:type="GBindingTransformFunc"/>
- </parameter>
- <parameter name="transform_from"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="notified"
- closure="6"
- destroy="7">
- <doc xml:space="preserve">the transformation function
- from the @target to the @source, or %NULL to use the default</doc>
- <type name="BindingTransformFunc" c:type="GBindingTransformFunc"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">custom data to be passed to the transformation functions,
- or %NULL</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="notify" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">function to be called when disposing the binding, to free the
- resources used by the transformation functions</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="bind_property_with_closures"
- c:identifier="g_object_bind_property_with_closures"
- shadows="bind_property_full"
- version="2.26">
- <doc xml:space="preserve">Creates a binding between @source_property on @source and @target_property
- on @target, allowing you to set the transformation functions to be used by
- the binding.
- This function is the language bindings friendly version of
- g_object_bind_property_full(), using #GClosures instead of
- function pointers.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GBinding instance representing the
- binding between the two #GObject instances. The binding is released
- whenever the #GBinding reference count reaches zero.</doc>
- <type name="Binding" c:type="GBinding*"/>
- </return-value>
- <parameters>
- <instance-parameter name="source" transfer-ownership="none">
- <doc xml:space="preserve">the source #GObject</doc>
- <type name="Object" c:type="gpointer"/>
- </instance-parameter>
- <parameter name="source_property" transfer-ownership="none">
- <doc xml:space="preserve">the property on @source to bind</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="target" transfer-ownership="none">
- <doc xml:space="preserve">the target #GObject</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="target_property" transfer-ownership="none">
- <doc xml:space="preserve">the property on @target to bind</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags to pass to #GBinding</doc>
- <type name="BindingFlags" c:type="GBindingFlags"/>
- </parameter>
- <parameter name="transform_to" transfer-ownership="none">
- <doc xml:space="preserve">a #GClosure wrapping the transformation function
- from the @source to the @target, or %NULL to use the default</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="transform_from" transfer-ownership="none">
- <doc xml:space="preserve">a #GClosure wrapping the transformation function
- from the @target to the @source, or %NULL to use the default</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- </parameters>
- </method>
- <method name="connect"
- c:identifier="g_object_connect"
- introspectable="0">
- <doc xml:space="preserve">A convenience function to connect multiple signals at once.
- The signal specs expected by this function have the form
- "modifier::signal_name", where modifier can be one of the following:
- * - signal: equivalent to g_signal_connect_data (..., NULL, 0)
- - object-signal, object_signal: equivalent to g_signal_connect_object (..., 0)
- - swapped-signal, swapped_signal: equivalent to g_signal_connect_data (..., NULL, G_CONNECT_SWAPPED)
- - swapped_object_signal, swapped-object-signal: equivalent to g_signal_connect_object (..., G_CONNECT_SWAPPED)
- - signal_after, signal-after: equivalent to g_signal_connect_data (..., NULL, G_CONNECT_AFTER)
- - object_signal_after, object-signal-after: equivalent to g_signal_connect_object (..., G_CONNECT_AFTER)
- - swapped_signal_after, swapped-signal-after: equivalent to g_signal_connect_data (..., NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER)
- - swapped_object_signal_after, swapped-object-signal-after: equivalent to g_signal_connect_object (..., G_CONNECT_SWAPPED | G_CONNECT_AFTER)
- |[<!-- language="C" -->
- menu->toplevel = g_object_connect (g_object_new (GTK_TYPE_WINDOW,
- "type", GTK_WINDOW_POPUP,
- "child", menu,
- NULL),
- "signal::event", gtk_menu_window_event, menu,
- "signal::size_request", gtk_menu_window_size_request, menu,
- "signal::destroy", gtk_widget_destroyed, &menu->toplevel,
- NULL);
- ]|</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@object</doc>
- <type name="Object" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="gpointer"/>
- </instance-parameter>
- <parameter name="signal_spec" transfer-ownership="none">
- <doc xml:space="preserve">the spec for the first signal</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">#GCallback for the first signal, followed by data for the
- first signal, followed optionally by more signal
- spec/callback/data triples, followed by %NULL</doc>
- <varargs/>
- </parameter>
- </parameters>
- </method>
- <method name="disconnect"
- c:identifier="g_object_disconnect"
- introspectable="0">
- <doc xml:space="preserve">A convenience function to disconnect multiple signals at once.
- The signal specs expected by this function have the form
- "any_signal", which means to disconnect any signal with matching
- callback and data, or "any_signal::signal_name", which only
- disconnects the signal named "signal_name".</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="gpointer"/>
- </instance-parameter>
- <parameter name="signal_spec" transfer-ownership="none">
- <doc xml:space="preserve">the spec for the first signal</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">#GCallback for the first signal, followed by data for the first signal,
- followed optionally by more signal spec/callback/data triples,
- followed by %NULL</doc>
- <varargs/>
- </parameter>
- </parameters>
- </method>
- <method name="dup_data"
- c:identifier="g_object_dup_data"
- version="2.34"
- introspectable="0">
- <doc xml:space="preserve">This is a variant of g_object_get_data() which returns
- a 'duplicate' of the value. @dup_func defines the
- meaning of 'duplicate' in this context, it could e.g.
- take a reference on a ref-counted object.
- If the @key is not set on the object then @dup_func
- will be called with a %NULL argument.
- Note that @dup_func is called while user data of @object
- is locked.
- This function can be useful to avoid races when multiple
- threads are using object data on the same key on the same
- object.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the result of calling @dup_func on the value
- associated with @key on @object, or %NULL if not set.
- If @dup_func is %NULL, the value is returned
- unmodified.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">the #GObject to store user data on</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="key" transfer-ownership="none">
- <doc xml:space="preserve">a string, naming the user data pointer</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="dup_func"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="2">
- <doc xml:space="preserve">function to dup the value</doc>
- <type name="GLib.DuplicateFunc" c:type="GDuplicateFunc"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">passed as user_data to @dup_func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="dup_qdata"
- c:identifier="g_object_dup_qdata"
- version="2.34"
- introspectable="0">
- <doc xml:space="preserve">This is a variant of g_object_get_qdata() which returns
- a 'duplicate' of the value. @dup_func defines the
- meaning of 'duplicate' in this context, it could e.g.
- take a reference on a ref-counted object.
- If the @quark is not set on the object then @dup_func
- will be called with a %NULL argument.
- Note that @dup_func is called while user data of @object
- is locked.
- This function can be useful to avoid races when multiple
- threads are using object data on the same key on the same
- object.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the result of calling @dup_func on the value
- associated with @quark on @object, or %NULL if not set.
- If @dup_func is %NULL, the value is returned
- unmodified.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">the #GObject to store user data on</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="quark" transfer-ownership="none">
- <doc xml:space="preserve">a #GQuark, naming the user data pointer</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="dup_func"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="2">
- <doc xml:space="preserve">function to dup the value</doc>
- <type name="GLib.DuplicateFunc" c:type="GDuplicateFunc"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">passed as user_data to @dup_func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="force_floating"
- c:identifier="g_object_force_floating"
- version="2.10">
- <doc xml:space="preserve">This function is intended for #GObject implementations to re-enforce
- a [floating][floating-ref] object reference. Doing this is seldom
- required: all #GInitiallyUnowneds are created with a floating reference
- which usually just needs to be sunken by calling g_object_ref_sink().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="freeze_notify" c:identifier="g_object_freeze_notify">
- <doc xml:space="preserve">Increases the freeze count on @object. If the freeze count is
- non-zero, the emission of "notify" signals on @object is
- stopped. The signals are queued until the freeze count is decreased
- to zero. Duplicate notifications are squashed so that at most one
- #GObject::notify signal is emitted for each property modified while the
- object is frozen.
- This is necessary for accessors that modify multiple properties to prevent
- premature notification while the object is still being modified.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get" c:identifier="g_object_get" introspectable="0">
- <doc xml:space="preserve">Gets properties of an object.
- In general, a copy is made of the property contents and the caller
- is responsible for freeing the memory in the appropriate manner for
- the type, for instance by calling g_free() or g_object_unref().
- Here is an example of using g_object_get() to get the contents
- of three properties: an integer, a string and an object:
- |[<!-- language="C" -->
- gint intval;
- gchar *strval;
- GObject *objval;
- g_object_get (my_object,
- "int-property", &intval,
- "str-property", &strval,
- "obj-property", &objval,
- NULL);
- // Do something with intval, strval, objval
- g_free (strval);
- g_object_unref (objval);
- ]|</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="gpointer"/>
- </instance-parameter>
- <parameter name="first_property_name" transfer-ownership="none">
- <doc xml:space="preserve">name of the first property to get</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">return location for the first property, followed optionally by more
- name/return location pairs, followed by %NULL</doc>
- <varargs/>
- </parameter>
- </parameters>
- </method>
- <method name="get_data" c:identifier="g_object_get_data">
- <doc xml:space="preserve">Gets a named field from the objects table of associations (see g_object_set_data()).</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the data if found, or %NULL if no such data exists.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">#GObject containing the associations</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="key" transfer-ownership="none">
- <doc xml:space="preserve">name of the key for that association</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_property" c:identifier="g_object_get_property">
- <doc xml:space="preserve">Gets a property of an object. @value must have been initialized to the
- expected type of the property (or a type to which the expected type can be
- transformed) using g_value_init().
- In general, a copy is made of the property contents and the caller is
- responsible for freeing the memory by calling g_value_unset().
- Note that g_object_get_property() is really intended for language
- bindings, g_object_get() is much more convenient for C programming.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="property_name" transfer-ownership="none">
- <doc xml:space="preserve">the name of the property to get</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">return location for the property value</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_qdata" c:identifier="g_object_get_qdata">
- <doc xml:space="preserve">This function gets back user data pointers stored via
- g_object_set_qdata().</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The user data pointer set, or %NULL</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">The GObject to get a stored user data pointer from</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="quark" transfer-ownership="none">
- <doc xml:space="preserve">A #GQuark, naming the user data pointer</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_valist"
- c:identifier="g_object_get_valist"
- introspectable="0">
- <doc xml:space="preserve">Gets properties of an object.
- In general, a copy is made of the property contents and the caller
- is responsible for freeing the memory in the appropriate manner for
- the type, for instance by calling g_free() or g_object_unref().
- See g_object_get().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="first_property_name" transfer-ownership="none">
- <doc xml:space="preserve">name of the first property to get</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="var_args" transfer-ownership="none">
- <doc xml:space="preserve">return location for the first property, followed optionally by more
- name/return location pairs, followed by %NULL</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_floating"
- c:identifier="g_object_is_floating"
- version="2.10">
- <doc xml:space="preserve">Checks whether @object has a [floating][floating-ref] reference.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @object has a floating reference</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="gpointer"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="notify" c:identifier="g_object_notify">
- <doc xml:space="preserve">Emits a "notify" signal for the property @property_name on @object.
- When possible, eg. when signaling a property change from within the class
- that registered the property, you should use g_object_notify_by_pspec()
- instead.
- Note that emission of the notify signal may be blocked with
- g_object_freeze_notify(). In this case, the signal emissions are queued
- and will be emitted (in reverse order) when g_object_thaw_notify() is
- called.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="property_name" transfer-ownership="none">
- <doc xml:space="preserve">the name of a property installed on the class of @object.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="notify_by_pspec"
- c:identifier="g_object_notify_by_pspec"
- version="2.26">
- <doc xml:space="preserve">Emits a "notify" signal for the property specified by @pspec on @object.
- This function omits the property name lookup, hence it is faster than
- g_object_notify().
- One way to avoid using g_object_notify() from within the
- class that registered the properties, and using g_object_notify_by_pspec()
- instead, is to store the GParamSpec used with
- g_object_class_install_property() inside a static array, e.g.:
- |[<!-- language="C" -->
- enum
- {
- PROP_0,
- PROP_FOO,
- PROP_LAST
- };
- static GParamSpec *properties[PROP_LAST];
- static void
- my_object_class_init (MyObjectClass *klass)
- {
- properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
- 0, 100,
- 50,
- G_PARAM_READWRITE);
- g_object_class_install_property (gobject_class,
- PROP_FOO,
- properties[PROP_FOO]);
- }
- ]|
- and then notify a change on the "foo" property with:
- |[<!-- language="C" -->
- g_object_notify_by_pspec (self, properties[PROP_FOO]);
- ]|</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">the #GParamSpec of a property installed on the class of @object.</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </method>
- <method name="ref" c:identifier="g_object_ref">
- <doc xml:space="preserve">Increases the reference count of @object.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the same @object</doc>
- <type name="Object" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="gpointer"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="ref_sink" c:identifier="g_object_ref_sink" version="2.10">
- <doc xml:space="preserve">Increase the reference count of @object, and possibly remove the
- [floating][floating-ref] reference, if @object has a floating reference.
- In other words, if the object is floating, then this call "assumes
- ownership" of the floating reference, converting it to a normal
- reference by clearing the floating flag while leaving the reference
- count unchanged. If the object is not floating, then this call
- adds a new normal reference increasing the reference count by one.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@object</doc>
- <type name="Object" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="gpointer"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="remove_toggle_ref"
- c:identifier="g_object_remove_toggle_ref"
- version="2.8"
- introspectable="0">
- <doc xml:space="preserve">Removes a reference added with g_object_add_toggle_ref(). The
- reference count of the object is decreased by one.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="notify" transfer-ownership="none" closure="1">
- <doc xml:space="preserve">a function to call when this reference is the
- last reference to the object, or is no longer
- the last reference.</doc>
- <type name="ToggleNotify" c:type="GToggleNotify"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to @notify</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_weak_pointer"
- c:identifier="g_object_remove_weak_pointer"
- introspectable="0">
- <doc xml:space="preserve">Removes a weak reference from @object that was previously added
- using g_object_add_weak_pointer(). The @weak_pointer_location has
- to match the one used with g_object_add_weak_pointer().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">The object that is weak referenced.</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="weak_pointer_location"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">The memory address
- of a pointer.</doc>
- <type name="gpointer" c:type="gpointer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="replace_data"
- c:identifier="g_object_replace_data"
- version="2.34">
- <doc xml:space="preserve">Compares the user data for the key @key on @object with
- @oldval, and if they are the same, replaces @oldval with
- @newval.
- This is like a typical atomic compare-and-exchange
- operation, for user data on an object.
- If the previous value was replaced then ownership of the
- old value (@oldval) is passed to the caller, including
- the registered destroy notify for it (passed out in @old_destroy).
- Its up to the caller to free this as he wishes, which may
- or may not include using @old_destroy as sometimes replacement
- should not destroy the object in the normal way.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the existing value for @key was replaced
- by @newval, %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">the #GObject to store user data on</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="key" transfer-ownership="none">
- <doc xml:space="preserve">a string, naming the user data pointer</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="oldval"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the old value to compare against</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="newval"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the new value</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async">
- <doc xml:space="preserve">a destroy notify for the new value</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- <parameter name="old_destroy"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async">
- <doc xml:space="preserve">destroy notify for the existing value</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify*"/>
- </parameter>
- </parameters>
- </method>
- <method name="replace_qdata"
- c:identifier="g_object_replace_qdata"
- version="2.34">
- <doc xml:space="preserve">Compares the user data for the key @quark on @object with
- @oldval, and if they are the same, replaces @oldval with
- @newval.
- This is like a typical atomic compare-and-exchange
- operation, for user data on an object.
- If the previous value was replaced then ownership of the
- old value (@oldval) is passed to the caller, including
- the registered destroy notify for it (passed out in @old_destroy).
- Its up to the caller to free this as he wishes, which may
- or may not include using @old_destroy as sometimes replacement
- should not destroy the object in the normal way.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the existing value for @quark was replaced
- by @newval, %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">the #GObject to store user data on</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="quark" transfer-ownership="none">
- <doc xml:space="preserve">a #GQuark, naming the user data pointer</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="oldval"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the old value to compare against</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="newval"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the new value</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async">
- <doc xml:space="preserve">a destroy notify for the new value</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- <parameter name="old_destroy"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async">
- <doc xml:space="preserve">destroy notify for the existing value</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify*"/>
- </parameter>
- </parameters>
- </method>
- <method name="run_dispose" c:identifier="g_object_run_dispose">
- <doc xml:space="preserve">Releases all references to other objects. This can be used to break
- reference cycles.
- This function should only be called from object system implementations.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="set" c:identifier="g_object_set" introspectable="0">
- <doc xml:space="preserve">Sets properties on an object.
- Note that the "notify" signals are queued and only emitted (in
- reverse order) after all properties have been set. See
- g_object_freeze_notify().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="gpointer"/>
- </instance-parameter>
- <parameter name="first_property_name" transfer-ownership="none">
- <doc xml:space="preserve">name of the first property to set</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">value for the first property, followed optionally by more
- name/value pairs, followed by %NULL</doc>
- <varargs/>
- </parameter>
- </parameters>
- </method>
- <method name="set_data" c:identifier="g_object_set_data">
- <doc xml:space="preserve">Each object carries around a table of associations from
- strings to pointers. This function lets you set an association.
- If the object already had an association with that name,
- the old association will be destroyed.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">#GObject containing the associations.</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="key" transfer-ownership="none">
- <doc xml:space="preserve">name of the key</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to associate with that key</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_data_full"
- c:identifier="g_object_set_data_full"
- introspectable="0">
- <doc xml:space="preserve">Like g_object_set_data() except it adds notification
- for when the association is destroyed, either by setting it
- to a different value or when the object is destroyed.
- Note that the @destroy callback is not called if @data is %NULL.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">#GObject containing the associations</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="key" transfer-ownership="none">
- <doc xml:space="preserve">name of the key</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to associate with that key</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">function to call when the association is destroyed</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_property" c:identifier="g_object_set_property">
- <doc xml:space="preserve">Sets a property on an object.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="property_name" transfer-ownership="none">
- <doc xml:space="preserve">the name of the property to set</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">the value</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_qdata"
- c:identifier="g_object_set_qdata"
- introspectable="0">
- <doc xml:space="preserve">This sets an opaque, named pointer on an object.
- The name is specified through a #GQuark (retrived e.g. via
- g_quark_from_static_string()), and the pointer
- can be gotten back from the @object with g_object_get_qdata()
- until the @object is finalized.
- Setting a previously set user data pointer, overrides (frees)
- the old pointer set, using #NULL as pointer essentially
- removes the data stored.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">The GObject to set store a user data pointer</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="quark" transfer-ownership="none">
- <doc xml:space="preserve">A #GQuark, naming the user data pointer</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">An opaque user data pointer</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_qdata_full"
- c:identifier="g_object_set_qdata_full"
- introspectable="0">
- <doc xml:space="preserve">This function works like g_object_set_qdata(), but in addition,
- a void (*destroy) (gpointer) function may be specified which is
- called with @data as argument when the @object is finalized, or
- the data is being overwritten by a call to g_object_set_qdata()
- with the same @quark.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">The GObject to set store a user data pointer</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="quark" transfer-ownership="none">
- <doc xml:space="preserve">A #GQuark, naming the user data pointer</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">An opaque user data pointer</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">Function to invoke with @data as argument, when @data
- needs to be freed</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_valist"
- c:identifier="g_object_set_valist"
- introspectable="0">
- <doc xml:space="preserve">Sets properties on an object.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="first_property_name" transfer-ownership="none">
- <doc xml:space="preserve">name of the first property to set</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="var_args" transfer-ownership="none">
- <doc xml:space="preserve">value for the first property, followed optionally by more
- name/value pairs, followed by %NULL</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- </parameters>
- </method>
- <method name="steal_data" c:identifier="g_object_steal_data">
- <doc xml:space="preserve">Remove a specified datum from the object's data associations,
- without invoking the association's destroy handler.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the data if found, or %NULL if no such data exists.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">#GObject containing the associations</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="key" transfer-ownership="none">
- <doc xml:space="preserve">name of the key</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="steal_qdata" c:identifier="g_object_steal_qdata">
- <doc xml:space="preserve">This function gets back user data pointers stored via
- g_object_set_qdata() and removes the @data from object
- without invoking its destroy() function (if any was
- set).
- Usually, calling this function is only required to update
- user data pointers with a destroy notifier, for example:
- |[<!-- language="C" -->
- void
- object_add_to_user_list (GObject *object,
- const gchar *new_string)
- {
- // the quark, naming the object data
- GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
- // retrive the old string list
- GList *list = g_object_steal_qdata (object, quark_string_list);
- // prepend new string
- list = g_list_prepend (list, g_strdup (new_string));
- // this changed 'list', so we need to set it again
- g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
- }
- static void
- free_string_list (gpointer data)
- {
- GList *node, *list = data;
- for (node = list; node; node = node->next)
- g_free (node->data);
- g_list_free (list);
- }
- ]|
- Using g_object_get_qdata() in the above example, instead of
- g_object_steal_qdata() would have left the destroy function set,
- and thus the partial string list would have been freed upon
- g_object_set_qdata_full().</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">The user data pointer set, or %NULL</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">The GObject to get a stored user data pointer from</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="quark" transfer-ownership="none">
- <doc xml:space="preserve">A #GQuark, naming the user data pointer</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- </parameters>
- </method>
- <method name="thaw_notify" c:identifier="g_object_thaw_notify">
- <doc xml:space="preserve">Reverts the effect of a previous call to
- g_object_freeze_notify(). The freeze count is decreased on @object
- and when it reaches zero, queued "notify" signals are emitted.
- Duplicate notifications for each property are squashed so that at most one
- #GObject::notify signal is emitted for each property, in the reverse order
- in which they have been queued.
- It is an error to call this function when the freeze count is zero.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="unref" c:identifier="g_object_unref">
- <doc xml:space="preserve">Decreases the reference count of @object. When its reference count
- drops to 0, the object is finalized (i.e. its memory is freed).
- If the pointer to the #GObject may be reused in future (for example, if it is
- an instance variable of another object), it is recommended to clear the
- pointer to %NULL rather than retain a dangling pointer to a potentially
- invalid #GObject instance. Use g_clear_object() for this.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="gpointer"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="watch_closure" c:identifier="g_object_watch_closure">
- <doc xml:space="preserve">This function essentially limits the life time of the @closure to
- the life time of the object. That is, when the object is finalized,
- the @closure is invalidated by calling g_closure_invalidate() on
- it, in order to prevent invocations of the closure with a finalized
- (nonexisting) object. Also, g_object_ref() and g_object_unref() are
- added as marshal guards to the @closure, to ensure that an extra
- reference count is held on @object during invocation of the
- @closure. Usually, this function will be called on closures that
- use this @object as closure data.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">GObject restricting lifetime of @closure</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">GClosure to watch</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- </parameters>
- </method>
- <method name="weak_ref"
- c:identifier="g_object_weak_ref"
- introspectable="0">
- <doc xml:space="preserve">Adds a weak reference callback to an object. Weak references are
- used for notification when an object is finalized. They are called
- "weak references" because they allow you to safely hold a pointer
- to an object without calling g_object_ref() (g_object_ref() adds a
- strong reference, that is, forces the object to stay alive).
- Note that the weak references created by this method are not
- thread-safe: they cannot safely be used in one thread if the
- object's last g_object_unref() might happen in another thread.
- Use #GWeakRef if thread-safety is required.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">#GObject to reference weakly</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="notify" transfer-ownership="none" closure="1">
- <doc xml:space="preserve">callback to invoke before the object is freed</doc>
- <type name="WeakNotify" c:type="GWeakNotify"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">extra data to pass to notify</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="weak_unref"
- c:identifier="g_object_weak_unref"
- introspectable="0">
- <doc xml:space="preserve">Removes a weak reference callback to an object.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">#GObject to remove a weak reference from</doc>
- <type name="Object" c:type="GObject*"/>
- </instance-parameter>
- <parameter name="notify" transfer-ownership="none" closure="1">
- <doc xml:space="preserve">callback to search for</doc>
- <type name="WeakNotify" c:type="GWeakNotify"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to search for</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <field name="g_type_instance">
- <type name="TypeInstance" c:type="GTypeInstance"/>
- </field>
- <field name="ref_count" readable="0" private="1">
- <type name="guint" c:type="volatile guint"/>
- </field>
- <field name="qdata" readable="0" private="1">
- <type name="GLib.Data" c:type="GData*"/>
- </field>
- <glib:signal name="notify"
- when="first"
- no-recurse="1"
- detailed="1"
- action="1"
- no-hooks="1">
- <doc xml:space="preserve">The notify signal is emitted on an object when one of its
- properties has been changed. Note that getting this signal
- doesn't guarantee that the value of the property has actually
- changed, it may also be emitted when the setter for the property
- is called to reinstate the previous value.
- This signal is typically used to obtain change notification for a
- single property, by specifying the property name as a detail in the
- g_signal_connect() call, like this:
- |[<!-- language="C" -->
- g_signal_connect (text_view->buffer, "notify::paste-target-list",
- G_CALLBACK (gtk_text_view_target_list_notify),
- text_view)
- ]|
- It is important to note that you must use
- [canonical][canonical-parameter-name] parameter names as
- detail strings for the notify signal.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">the #GParamSpec of the property which changed.</doc>
- <type name="ParamSpec"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <record name="ObjectClass"
- c:type="GObjectClass"
- glib:is-gtype-struct-for="Object">
- <doc xml:space="preserve">The class structure for the GObject type.
- <example>
- <title>Implementing singletons using a constructor</title>
- <programlisting>
- static MySingleton *the_singleton = NULL;
- static GObject*
- my_singleton_constructor (GType type,
- guint n_construct_params,
- GObjectConstructParam *construct_params)
- {
- GObject *object;
-
- if (!the_singleton)
- {
- object = G_OBJECT_CLASS (parent_class)->constructor (type,
- n_construct_params,
- construct_params);
- the_singleton = MY_SINGLETON (object);
- }
- else
- object = g_object_ref (G_OBJECT (the_singleton));
- return object;
- }
- </programlisting></example></doc>
- <field name="g_type_class">
- <doc xml:space="preserve">the parent class</doc>
- <type name="TypeClass" c:type="GTypeClass"/>
- </field>
- <field name="construct_properties" readable="0" private="1">
- <type name="GLib.SList" c:type="GSList*">
- <type name="gpointer" c:type="gpointer"/>
- </type>
- </field>
- <field name="constructor" introspectable="0">
- <callback name="constructor" introspectable="0">
- <return-value>
- <type name="Object" c:type="GObject*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="n_construct_properties" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="construct_properties" transfer-ownership="none">
- <type name="ObjectConstructParam"
- c:type="GObjectConstructParam*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_property">
- <callback name="set_property">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </parameter>
- <parameter name="property_id" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_property">
- <callback name="get_property">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </parameter>
- <parameter name="property_id" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="dispose">
- <callback name="dispose">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="finalize">
- <callback name="finalize">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="dispatch_properties_changed">
- <callback name="dispatch_properties_changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </parameter>
- <parameter name="n_pspecs" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="pspecs" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec**"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="notify">
- <callback name="notify">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="constructed">
- <callback name="constructed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="flags" readable="0" private="1">
- <type name="gsize" c:type="gsize"/>
- </field>
- <field name="pdummy" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="6">
- <type name="gpointer" c:type="gpointer"/>
- </array>
- </field>
- <method name="find_property" c:identifier="g_object_class_find_property">
- <doc xml:space="preserve">Looks up the #GParamSpec for a property of a class.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GParamSpec for the property, or
- %NULL if the class doesn't have a property of that name</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <instance-parameter name="oclass" transfer-ownership="none">
- <doc xml:space="preserve">a #GObjectClass</doc>
- <type name="ObjectClass" c:type="GObjectClass*"/>
- </instance-parameter>
- <parameter name="property_name" transfer-ownership="none">
- <doc xml:space="preserve">the name of the property to look up</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="install_properties"
- c:identifier="g_object_class_install_properties"
- version="2.26">
- <doc xml:space="preserve">Installs new properties from an array of #GParamSpecs.
- All properties should be installed during the class initializer. It
- is possible to install properties after that, but doing so is not
- recommend, and specifically, is not guaranteed to be thread-safe vs.
- use of properties on the same type on other threads.
- The property id of each property is the index of each #GParamSpec in
- the @pspecs array.
- The property id of 0 is treated specially by #GObject and it should not
- be used to store a #GParamSpec.
- This function should be used if you plan to use a static array of
- #GParamSpecs and g_object_notify_by_pspec(). For instance, this
- class initialization:
- |[<!-- language="C" -->
- enum {
- PROP_0, PROP_FOO, PROP_BAR, N_PROPERTIES
- };
- static GParamSpec *obj_properties[N_PROPERTIES] = { NULL, };
- static void
- my_object_class_init (MyObjectClass *klass)
- {
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- obj_properties[PROP_FOO] =
- g_param_spec_int ("foo", "Foo", "Foo",
- -1, G_MAXINT,
- 0,
- G_PARAM_READWRITE);
- obj_properties[PROP_BAR] =
- g_param_spec_string ("bar", "Bar", "Bar",
- NULL,
- G_PARAM_READWRITE);
- gobject_class->set_property = my_object_set_property;
- gobject_class->get_property = my_object_get_property;
- g_object_class_install_properties (gobject_class,
- N_PROPERTIES,
- obj_properties);
- }
- ]|
- allows calling g_object_notify_by_pspec() to notify of property changes:
- |[<!-- language="C" -->
- void
- my_object_set_foo (MyObject *self, gint foo)
- {
- if (self->foo != foo)
- {
- self->foo = foo;
- g_object_notify_by_pspec (G_OBJECT (self), obj_properties[PROP_FOO]);
- }
- }
- ]|</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="oclass" transfer-ownership="none">
- <doc xml:space="preserve">a #GObjectClass</doc>
- <type name="ObjectClass" c:type="GObjectClass*"/>
- </instance-parameter>
- <parameter name="n_pspecs" transfer-ownership="none">
- <doc xml:space="preserve">the length of the #GParamSpecs array</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="pspecs" transfer-ownership="none">
- <doc xml:space="preserve">the #GParamSpecs array
- defining the new properties</doc>
- <array length="0" zero-terminated="0" c:type="GParamSpec**">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="install_property"
- c:identifier="g_object_class_install_property">
- <doc xml:space="preserve">Installs a new property.
- All properties should be installed during the class initializer. It
- is possible to install properties after that, but doing so is not
- recommend, and specifically, is not guaranteed to be thread-safe vs.
- use of properties on the same type on other threads.
- Note that it is possible to redefine a property in a derived class,
- by installing a property with the same name. This can be useful at times,
- e.g. to change the range of allowed values or the default value.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="oclass" transfer-ownership="none">
- <doc xml:space="preserve">a #GObjectClass</doc>
- <type name="ObjectClass" c:type="GObjectClass*"/>
- </instance-parameter>
- <parameter name="property_id" transfer-ownership="none">
- <doc xml:space="preserve">the id for the new property</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">the #GParamSpec for the new property</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </method>
- <method name="list_properties"
- c:identifier="g_object_class_list_properties">
- <doc xml:space="preserve">Get an array of #GParamSpec* for all properties of a class.</doc>
- <return-value transfer-ownership="container">
- <doc xml:space="preserve">an array of
- #GParamSpec* which should be freed after use</doc>
- <array length="0" zero-terminated="0" c:type="GParamSpec**">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </array>
- </return-value>
- <parameters>
- <instance-parameter name="oclass" transfer-ownership="none">
- <doc xml:space="preserve">a #GObjectClass</doc>
- <type name="ObjectClass" c:type="GObjectClass*"/>
- </instance-parameter>
- <parameter name="n_properties"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">return location for the length of the returned array</doc>
- <type name="guint" c:type="guint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="override_property"
- c:identifier="g_object_class_override_property"
- version="2.4">
- <doc xml:space="preserve">Registers @property_id as referring to a property with the name
- @name in a parent class or in an interface implemented by @oclass.
- This allows this class to "override" a property implementation in
- a parent class or to provide the implementation of a property from
- an interface.
- Internally, overriding is implemented by creating a property of type
- #GParamSpecOverride; generally operations that query the properties of
- the object class, such as g_object_class_find_property() or
- g_object_class_list_properties() will return the overridden
- property. However, in one case, the @construct_properties argument of
- the @constructor virtual function, the #GParamSpecOverride is passed
- instead, so that the @param_id field of the #GParamSpec will be
- correct. For virtually all uses, this makes no difference. If you
- need to get the overridden property, you can call
- g_param_spec_get_redirect_target().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="oclass" transfer-ownership="none">
- <doc xml:space="preserve">a #GObjectClass</doc>
- <type name="ObjectClass" c:type="GObjectClass*"/>
- </instance-parameter>
- <parameter name="property_id" transfer-ownership="none">
- <doc xml:space="preserve">the new property ID</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">the name of a property registered in a parent class or
- in an interface of this class.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="ObjectConstructParam" c:type="GObjectConstructParam">
- <doc xml:space="preserve">The GObjectConstructParam struct is an auxiliary
- structure used to hand #GParamSpec/#GValue pairs to the @constructor of
- a #GObjectClass.</doc>
- <field name="pspec" writable="1">
- <doc xml:space="preserve">the #GParamSpec of the construct parameter</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </field>
- <field name="value" writable="1">
- <doc xml:space="preserve">the value to set the parameter to</doc>
- <type name="Value" c:type="GValue*"/>
- </field>
- </record>
- <callback name="ObjectFinalizeFunc" c:type="GObjectFinalizeFunc">
- <doc xml:space="preserve">The type of the @finalize function of #GObjectClass.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">the #GObject being finalized</doc>
- <type name="Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="ObjectGetPropertyFunc" c:type="GObjectGetPropertyFunc">
- <doc xml:space="preserve">The type of the @get_property function of #GObjectClass.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </parameter>
- <parameter name="property_id" transfer-ownership="none">
- <doc xml:space="preserve">the numeric id under which the property was registered with
- g_object_class_install_property().</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a #GValue to return the property value in</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">the #GParamSpec describing the property</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="ObjectSetPropertyFunc" c:type="GObjectSetPropertyFunc">
- <doc xml:space="preserve">The type of the @set_property function of #GObjectClass.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject</doc>
- <type name="Object" c:type="GObject*"/>
- </parameter>
- <parameter name="property_id" transfer-ownership="none">
- <doc xml:space="preserve">the numeric id under which the property was registered with
- g_object_class_install_property().</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">the new value for the property</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">the #GParamSpec describing the property</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- <constant name="PARAM_MASK" value="255" c:type="G_PARAM_MASK">
- <doc xml:space="preserve">Mask containing the bits of #GParamSpec.flags which are reserved for GLib.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="PARAM_STATIC_STRINGS"
- value="0"
- c:type="G_PARAM_STATIC_STRINGS">
- <doc xml:space="preserve">#GParamFlags value alias for %G_PARAM_STATIC_NAME | %G_PARAM_STATIC_NICK | %G_PARAM_STATIC_BLURB.
- Since 2.13.0</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="PARAM_USER_SHIFT" value="8" c:type="G_PARAM_USER_SHIFT">
- <doc xml:space="preserve">Minimum shift count to be used for user defined flags, to be stored in
- #GParamSpec.flags. The maximum allowed is 10.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <bitfield name="ParamFlags" c:type="GParamFlags">
- <doc xml:space="preserve">Through the #GParamFlags flag values, certain aspects of parameters
- can be configured. See also #G_PARAM_STATIC_STRINGS.</doc>
- <member name="readable" value="1" c:identifier="G_PARAM_READABLE">
- <doc xml:space="preserve">the parameter is readable</doc>
- </member>
- <member name="writable" value="2" c:identifier="G_PARAM_WRITABLE">
- <doc xml:space="preserve">the parameter is writable</doc>
- </member>
- <member name="readwrite" value="3" c:identifier="G_PARAM_READWRITE">
- <doc xml:space="preserve">alias for %G_PARAM_READABLE | %G_PARAM_WRITABLE</doc>
- </member>
- <member name="construct" value="4" c:identifier="G_PARAM_CONSTRUCT">
- <doc xml:space="preserve">the parameter will be set upon object construction</doc>
- </member>
- <member name="construct_only"
- value="8"
- c:identifier="G_PARAM_CONSTRUCT_ONLY">
- <doc xml:space="preserve">the parameter can only be set upon object construction</doc>
- </member>
- <member name="lax_validation"
- value="16"
- c:identifier="G_PARAM_LAX_VALIDATION">
- <doc xml:space="preserve">upon parameter conversion (see g_param_value_convert())
- strict validation is not required</doc>
- </member>
- <member name="static_name" value="32" c:identifier="G_PARAM_STATIC_NAME">
- <doc xml:space="preserve">the string used as name when constructing the
- parameter is guaranteed to remain valid and
- unmodified for the lifetime of the parameter.
- Since 2.8</doc>
- </member>
- <member name="private" value="32" c:identifier="G_PARAM_PRIVATE">
- <doc xml:space="preserve">internal</doc>
- </member>
- <member name="static_nick" value="64" c:identifier="G_PARAM_STATIC_NICK">
- <doc xml:space="preserve">the string used as nick when constructing the
- parameter is guaranteed to remain valid and
- unmmodified for the lifetime of the parameter.
- Since 2.8</doc>
- </member>
- <member name="static_blurb"
- value="128"
- c:identifier="G_PARAM_STATIC_BLURB">
- <doc xml:space="preserve">the string used as blurb when constructing the
- parameter is guaranteed to remain valid and
- unmodified for the lifetime of the parameter.
- Since 2.8</doc>
- </member>
- <member name="explicit_notify"
- value="1073741824"
- c:identifier="G_PARAM_EXPLICIT_NOTIFY">
- <doc xml:space="preserve">calls to g_object_set_property() for this
- property will not automatically result in a "notify" signal being
- emitted: the implementation must call g_object_notify() themselves
- in case the property actually changes. Since: 2.42.</doc>
- </member>
- <member name="deprecated"
- value="2147483648"
- c:identifier="G_PARAM_DEPRECATED">
- <doc xml:space="preserve">the parameter is deprecated and will be removed
- in a future version. A warning will be generated if it is used
- while running with G_ENABLE_DIAGNOSTIC=1.
- Since 2.26</doc>
- </member>
- </bitfield>
- <class name="ParamSpec"
- c:symbol-prefix="param_spec"
- c:type="GParamSpec"
- abstract="1"
- glib:type-name="GParam"
- glib:get-type="intern"
- glib:type-struct="ParamSpecClass"
- glib:fundamental="1"
- glib:ref-func="g_param_spec_ref_sink"
- glib:unref-func="g_param_spec_uref"
- glib:set-value-func="g_value_set_param"
- glib:get-value-func="g_value_get_param">
- <doc xml:space="preserve">#GParamSpec is an object structure that encapsulates the metadata
- required to specify parameters, such as e.g. #GObject properties.
- ## Parameter names # {#canonical-parameter-names}
- Parameter names need to start with a letter (a-z or A-Z).
- Subsequent characters can be letters, numbers or a '-'.
- All other characters are replaced by a '-' during construction.
- The result of this replacement is called the canonical name of
- the parameter.</doc>
- <function name="internal"
- c:identifier="g_param_spec_internal"
- introspectable="0">
- <doc xml:space="preserve">Creates a new #GParamSpec instance.
- A property name consists of segments consisting of ASCII letters and
- digits, separated by either the '-' or '_' character. The first
- character of a property name must be a letter. Names which violate these
- rules lead to undefined behaviour.
- When creating and looking up a #GParamSpec, either separator can be
- used, but they cannot be mixed. Using '-' is considerably more
- efficient and in fact required when using property names as detail
- strings for signals.
- Beyond the name, #GParamSpecs have two more descriptive
- strings associated with them, the @nick, which should be suitable
- for use as a label for the property in a property editor, and the
- @blurb, which should be a somewhat longer description, suitable for
- e.g. a tooltip. The @nick and @blurb should ideally be localized.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a newly allocated #GParamSpec instance</doc>
- <type name="ParamSpec" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="param_type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType for the property; must be derived from #G_TYPE_PARAM</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">the canonical name of the property</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">the nickname of the property</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">a short description of the property</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">a combination of #GParamFlags</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <virtual-method name="finalize">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="value_set_default">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="value_validate">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="values_cmp">
- <return-value transfer-ownership="none">
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- <parameter name="value1" transfer-ownership="none">
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="value2" transfer-ownership="none">
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="get_blurb" c:identifier="g_param_spec_get_blurb">
- <doc xml:space="preserve">Get the short description of a #GParamSpec.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the short description of @pspec.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_default_value"
- c:identifier="g_param_spec_get_default_value"
- version="2.38">
- <doc xml:space="preserve">Gets the default value of @pspec as a pointer to a #GValue.
- The #GValue will remain value for the life of @pspec.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a pointer to a #GValue which must not be modified</doc>
- <type name="Value" c:type="const GValue*"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_name" c:identifier="g_param_spec_get_name">
- <doc xml:space="preserve">Get the name of a #GParamSpec.
- The name is always an "interned" string (as per g_intern_string()).
- This allows for pointer-value comparisons.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the name of @pspec.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_name_quark"
- c:identifier="g_param_spec_get_name_quark"
- version="2.46">
- <doc xml:space="preserve">Gets the GQuark for the name.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the GQuark for @pspec->name.</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_nick" c:identifier="g_param_spec_get_nick">
- <doc xml:space="preserve">Get the nickname of a #GParamSpec.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the nickname of @pspec.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_qdata" c:identifier="g_param_spec_get_qdata">
- <doc xml:space="preserve">Gets back user data pointers stored via g_param_spec_set_qdata().</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the user data pointer set, or %NULL</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- <parameter name="quark" transfer-ownership="none">
- <doc xml:space="preserve">a #GQuark, naming the user data pointer</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_redirect_target"
- c:identifier="g_param_spec_get_redirect_target"
- version="2.4">
- <doc xml:space="preserve">If the paramspec redirects operations to another paramspec,
- returns that paramspec. Redirect is used typically for
- providing a new implementation of a property in a derived
- type while preserving all the properties from the parent
- type. Redirection is established by creating a property
- of type #GParamSpecOverride. See g_object_class_override_property()
- for an example of the use of this capability.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">paramspec to which requests on this
- paramspec should be redirected, or %NULL if none.</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="ref" c:identifier="g_param_spec_ref" introspectable="0">
- <doc xml:space="preserve">Increments the reference count of @pspec.</doc>
- <return-value>
- <doc xml:space="preserve">the #GParamSpec that was passed into this function</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="ref_sink"
- c:identifier="g_param_spec_ref_sink"
- version="2.10"
- introspectable="0">
- <doc xml:space="preserve">Convenience function to ref and sink a #GParamSpec.</doc>
- <return-value>
- <doc xml:space="preserve">the #GParamSpec that was passed into this function</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="set_qdata" c:identifier="g_param_spec_set_qdata">
- <doc xml:space="preserve">Sets an opaque, named pointer on a #GParamSpec. The name is
- specified through a #GQuark (retrieved e.g. via
- g_quark_from_static_string()), and the pointer can be gotten back
- from the @pspec with g_param_spec_get_qdata(). Setting a
- previously set user data pointer, overrides (frees) the old pointer
- set, using %NULL as pointer essentially removes the data stored.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">the #GParamSpec to set store a user data pointer</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- <parameter name="quark" transfer-ownership="none">
- <doc xml:space="preserve">a #GQuark, naming the user data pointer</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">an opaque user data pointer</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_qdata_full"
- c:identifier="g_param_spec_set_qdata_full"
- introspectable="0">
- <doc xml:space="preserve">This function works like g_param_spec_set_qdata(), but in addition,
- a `void (*destroy) (gpointer)` function may be
- specified which is called with @data as argument when the @pspec is
- finalized, or the data is being overwritten by a call to
- g_param_spec_set_qdata() with the same @quark.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">the #GParamSpec to set store a user data pointer</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- <parameter name="quark" transfer-ownership="none">
- <doc xml:space="preserve">a #GQuark, naming the user data pointer</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">an opaque user data pointer</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">function to invoke with @data as argument, when @data needs to
- be freed</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="sink" c:identifier="g_param_spec_sink">
- <doc xml:space="preserve">The initial reference count of a newly created #GParamSpec is 1,
- even though no one has explicitly called g_param_spec_ref() on it
- yet. So the initial reference count is flagged as "floating", until
- someone calls `g_param_spec_ref (pspec); g_param_spec_sink
- (pspec);` in sequence on it, taking over the initial
- reference count (thus ending up with a @pspec that has a reference
- count of 1 still, but is not flagged "floating" anymore).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="steal_qdata" c:identifier="g_param_spec_steal_qdata">
- <doc xml:space="preserve">Gets back user data pointers stored via g_param_spec_set_qdata()
- and removes the @data from @pspec without invoking its destroy()
- function (if any was set). Usually, calling this function is only
- required to update user data pointers with a destroy notifier.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the user data pointer set, or %NULL</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">the #GParamSpec to get a stored user data pointer from</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- <parameter name="quark" transfer-ownership="none">
- <doc xml:space="preserve">a #GQuark, naming the user data pointer</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- </parameters>
- </method>
- <method name="unref"
- c:identifier="g_param_spec_unref"
- introspectable="0">
- <doc xml:space="preserve">Decrements the reference count of a @pspec.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </instance-parameter>
- </parameters>
- </method>
- <field name="g_type_instance">
- <doc xml:space="preserve">private #GTypeInstance portion</doc>
- <type name="TypeInstance" c:type="GTypeInstance"/>
- </field>
- <field name="name">
- <doc xml:space="preserve">name of this parameter: always an interned string</doc>
- <type name="utf8" c:type="const gchar*"/>
- </field>
- <field name="flags">
- <doc xml:space="preserve">#GParamFlags flags for this parameter</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </field>
- <field name="value_type">
- <doc xml:space="preserve">the #GValue type for this parameter</doc>
- <type name="GType" c:type="GType"/>
- </field>
- <field name="owner_type">
- <doc xml:space="preserve">#GType type that uses (introduces) this parameter</doc>
- <type name="GType" c:type="GType"/>
- </field>
- <field name="_nick" readable="0" private="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="_blurb" readable="0" private="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="qdata" readable="0" private="1">
- <type name="GLib.Data" c:type="GData*"/>
- </field>
- <field name="ref_count" readable="0" private="1">
- <type name="guint" c:type="guint"/>
- </field>
- <field name="param_id" readable="0" private="1">
- <type name="guint" c:type="guint"/>
- </field>
- </class>
- <class name="ParamSpecBoolean"
- c:symbol-prefix="param_spec_boolean"
- c:type="GParamSpecBoolean"
- parent="ParamSpec"
- glib:type-name="GParamBoolean"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for boolean properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gboolean" c:type="gboolean"/>
- </field>
- </class>
- <class name="ParamSpecBoxed"
- c:symbol-prefix="param_spec_boxed"
- c:type="GParamSpecBoxed"
- parent="ParamSpec"
- glib:type-name="GParamBoxed"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for boxed properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- </class>
- <class name="ParamSpecChar"
- c:symbol-prefix="param_spec_char"
- c:type="GParamSpecChar"
- parent="ParamSpec"
- glib:type-name="GParamChar"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for character properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="minimum">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="gint8" c:type="gint8"/>
- </field>
- <field name="maximum">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="gint8" c:type="gint8"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gint8" c:type="gint8"/>
- </field>
- </class>
- <record name="ParamSpecClass"
- c:type="GParamSpecClass"
- glib:is-gtype-struct-for="ParamSpec">
- <doc xml:space="preserve">The class structure for the GParamSpec type.
- Normally, GParamSpec classes are filled by
- g_param_type_register_static().</doc>
- <field name="g_type_class">
- <doc xml:space="preserve">the parent class</doc>
- <type name="TypeClass" c:type="GTypeClass"/>
- </field>
- <field name="value_type">
- <doc xml:space="preserve">the #GValue type for this parameter</doc>
- <type name="GType" c:type="GType"/>
- </field>
- <field name="finalize">
- <callback name="finalize">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="value_set_default">
- <callback name="value_set_default">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="value_validate">
- <callback name="value_validate">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="values_cmp">
- <callback name="values_cmp">
- <return-value transfer-ownership="none">
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- <parameter name="value1" transfer-ownership="none">
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="value2" transfer-ownership="none">
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="dummy" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="gpointer" c:type="gpointer"/>
- </array>
- </field>
- </record>
- <class name="ParamSpecDouble"
- c:symbol-prefix="param_spec_double"
- c:type="GParamSpecDouble"
- parent="ParamSpec"
- glib:type-name="GParamDouble"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for double properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="minimum">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="gdouble" c:type="gdouble"/>
- </field>
- <field name="maximum">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="gdouble" c:type="gdouble"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gdouble" c:type="gdouble"/>
- </field>
- <field name="epsilon">
- <doc xml:space="preserve">values closer than @epsilon will be considered identical
- by g_param_values_cmp(); the default value is 1e-90.</doc>
- <type name="gdouble" c:type="gdouble"/>
- </field>
- </class>
- <class name="ParamSpecEnum"
- c:symbol-prefix="param_spec_enum"
- c:type="GParamSpecEnum"
- parent="ParamSpec"
- glib:type-name="GParamEnum"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for enum
- properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="enum_class">
- <doc xml:space="preserve">the #GEnumClass for the enum</doc>
- <type name="EnumClass" c:type="GEnumClass*"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gint" c:type="gint"/>
- </field>
- </class>
- <class name="ParamSpecFlags"
- c:symbol-prefix="param_spec_flags"
- c:type="GParamSpecFlags"
- parent="ParamSpec"
- glib:type-name="GParamFlags"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for flags
- properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="flags_class">
- <doc xml:space="preserve">the #GFlagsClass for the flags</doc>
- <type name="FlagsClass" c:type="GFlagsClass*"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="guint" c:type="guint"/>
- </field>
- </class>
- <class name="ParamSpecFloat"
- c:symbol-prefix="param_spec_float"
- c:type="GParamSpecFloat"
- parent="ParamSpec"
- glib:type-name="GParamFloat"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for float properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="minimum">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="gfloat" c:type="gfloat"/>
- </field>
- <field name="maximum">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="gfloat" c:type="gfloat"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gfloat" c:type="gfloat"/>
- </field>
- <field name="epsilon">
- <doc xml:space="preserve">values closer than @epsilon will be considered identical
- by g_param_values_cmp(); the default value is 1e-30.</doc>
- <type name="gfloat" c:type="gfloat"/>
- </field>
- </class>
- <class name="ParamSpecGType"
- c:symbol-prefix="param_spec_gtype"
- c:type="GParamSpecGType"
- version="2.10"
- parent="ParamSpec"
- glib:type-name="GParamGType"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for #GType properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="is_a_type">
- <doc xml:space="preserve">a #GType whose subtypes can occur as values</doc>
- <type name="GType" c:type="GType"/>
- </field>
- </class>
- <class name="ParamSpecInt"
- c:symbol-prefix="param_spec_int"
- c:type="GParamSpecInt"
- parent="ParamSpec"
- glib:type-name="GParamInt"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for integer properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="minimum">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="gint" c:type="gint"/>
- </field>
- <field name="maximum">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="gint" c:type="gint"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gint" c:type="gint"/>
- </field>
- </class>
- <class name="ParamSpecInt64"
- c:symbol-prefix="param_spec_int64"
- c:type="GParamSpecInt64"
- parent="ParamSpec"
- glib:type-name="GParamInt64"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for 64bit integer properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="minimum">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="gint64" c:type="gint64"/>
- </field>
- <field name="maximum">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="gint64" c:type="gint64"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gint64" c:type="gint64"/>
- </field>
- </class>
- <class name="ParamSpecLong"
- c:symbol-prefix="param_spec_long"
- c:type="GParamSpecLong"
- parent="ParamSpec"
- glib:type-name="GParamLong"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for long integer properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="minimum">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="glong" c:type="glong"/>
- </field>
- <field name="maximum">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="glong" c:type="glong"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="glong" c:type="glong"/>
- </field>
- </class>
- <class name="ParamSpecObject"
- c:symbol-prefix="param_spec_object"
- c:type="GParamSpecObject"
- parent="ParamSpec"
- glib:type-name="GParamObject"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for object properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- </class>
- <class name="ParamSpecOverride"
- c:symbol-prefix="param_spec_override"
- c:type="GParamSpecOverride"
- version="2.4"
- parent="ParamSpec"
- glib:type-name="GParamOverride"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">This is a type of #GParamSpec type that simply redirects operations to
- another paramspec. All operations other than getting or
- setting the value are redirected, including accessing the nick and
- blurb, validating a value, and so forth. See
- g_param_spec_get_redirect_target() for retrieving the overidden
- property. #GParamSpecOverride is used in implementing
- g_object_class_override_property(), and will not be directly useful
- unless you are implementing a new base type similar to GObject.</doc>
- <field name="parent_instance" readable="0" private="1">
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="overridden" readable="0" private="1">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </field>
- </class>
- <class name="ParamSpecParam"
- c:symbol-prefix="param_spec_param"
- c:type="GParamSpecParam"
- parent="ParamSpec"
- glib:type-name="GParamParam"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM
- properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- </class>
- <class name="ParamSpecPointer"
- c:symbol-prefix="param_spec_pointer"
- c:type="GParamSpecPointer"
- parent="ParamSpec"
- glib:type-name="GParamPointer"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for pointer properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- </class>
- <record name="ParamSpecPool" c:type="GParamSpecPool" disguised="1">
- <doc xml:space="preserve">A #GParamSpecPool maintains a collection of #GParamSpecs which can be
- quickly accessed by owner and name. The implementation of the #GObject property
- system uses such a pool to store the #GParamSpecs of the properties all object
- types.</doc>
- <method name="insert" c:identifier="g_param_spec_pool_insert">
- <doc xml:space="preserve">Inserts a #GParamSpec in the pool.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="pool" transfer-ownership="none">
- <doc xml:space="preserve">a #GParamSpecPool.</doc>
- <type name="ParamSpecPool" c:type="GParamSpecPool*"/>
- </instance-parameter>
- <parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">the #GParamSpec to insert</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- <parameter name="owner_type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType identifying the owner of @pspec</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="list" c:identifier="g_param_spec_pool_list">
- <doc xml:space="preserve">Gets an array of all #GParamSpecs owned by @owner_type in
- the pool.</doc>
- <return-value transfer-ownership="container">
- <doc xml:space="preserve">a newly
- allocated array containing pointers to all #GParamSpecs
- owned by @owner_type in the pool</doc>
- <array length="1" zero-terminated="0" c:type="GParamSpec**">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </array>
- </return-value>
- <parameters>
- <instance-parameter name="pool" transfer-ownership="none">
- <doc xml:space="preserve">a #GParamSpecPool</doc>
- <type name="ParamSpecPool" c:type="GParamSpecPool*"/>
- </instance-parameter>
- <parameter name="owner_type" transfer-ownership="none">
- <doc xml:space="preserve">the owner to look for</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="n_pspecs_p"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">return location for the length of the returned array</doc>
- <type name="guint" c:type="guint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="list_owned" c:identifier="g_param_spec_pool_list_owned">
- <doc xml:space="preserve">Gets an #GList of all #GParamSpecs owned by @owner_type in
- the pool.</doc>
- <return-value transfer-ownership="container">
- <doc xml:space="preserve">a
- #GList of all #GParamSpecs owned by @owner_type in
- the pool#GParamSpecs.</doc>
- <type name="GLib.List" c:type="GList*">
- <type name="ParamSpec"/>
- </type>
- </return-value>
- <parameters>
- <instance-parameter name="pool" transfer-ownership="none">
- <doc xml:space="preserve">a #GParamSpecPool</doc>
- <type name="ParamSpecPool" c:type="GParamSpecPool*"/>
- </instance-parameter>
- <parameter name="owner_type" transfer-ownership="none">
- <doc xml:space="preserve">the owner to look for</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="lookup" c:identifier="g_param_spec_pool_lookup">
- <doc xml:space="preserve">Looks up a #GParamSpec in the pool.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The found #GParamSpec, or %NULL if no
- matching #GParamSpec was found.</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <instance-parameter name="pool" transfer-ownership="none">
- <doc xml:space="preserve">a #GParamSpecPool</doc>
- <type name="ParamSpecPool" c:type="GParamSpecPool*"/>
- </instance-parameter>
- <parameter name="param_name" transfer-ownership="none">
- <doc xml:space="preserve">the name to look for</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="owner_type" transfer-ownership="none">
- <doc xml:space="preserve">the owner to look for</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="walk_ancestors" transfer-ownership="none">
- <doc xml:space="preserve">If %TRUE, also try to find a #GParamSpec with @param_name
- owned by an ancestor of @owner_type.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove" c:identifier="g_param_spec_pool_remove">
- <doc xml:space="preserve">Removes a #GParamSpec from the pool.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="pool" transfer-ownership="none">
- <doc xml:space="preserve">a #GParamSpecPool</doc>
- <type name="ParamSpecPool" c:type="GParamSpecPool*"/>
- </instance-parameter>
- <parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">the #GParamSpec to remove</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </method>
- <function name="new" c:identifier="g_param_spec_pool_new">
- <doc xml:space="preserve">Creates a new #GParamSpecPool.
- If @type_prefixing is %TRUE, lookups in the newly created pool will
- allow to specify the owner as a colon-separated prefix of the
- property name, like "GtkContainer:border-width". This feature is
- deprecated, so you should always set @type_prefixing to %FALSE.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a newly allocated #GParamSpecPool.</doc>
- <type name="ParamSpecPool" c:type="GParamSpecPool*"/>
- </return-value>
- <parameters>
- <parameter name="type_prefixing" transfer-ownership="none">
- <doc xml:space="preserve">Whether the pool will support type-prefixed property names.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <class name="ParamSpecString"
- c:symbol-prefix="param_spec_string"
- c:type="GParamSpecString"
- parent="ParamSpec"
- glib:type-name="GParamString"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for string
- properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="cset_first">
- <doc xml:space="preserve">a string containing the allowed values for the first byte</doc>
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="cset_nth">
- <doc xml:space="preserve">a string containing the allowed values for the subsequent bytes</doc>
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="substitutor">
- <doc xml:space="preserve">the replacement byte for bytes which don't match @cset_first or @cset_nth.</doc>
- <type name="gchar" c:type="gchar"/>
- </field>
- <field name="null_fold_if_empty" bits="1">
- <doc xml:space="preserve">replace empty string by %NULL</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="ensure_non_null" bits="1">
- <doc xml:space="preserve">replace %NULL strings by an empty string</doc>
- <type name="guint" c:type="guint"/>
- </field>
- </class>
- <record name="ParamSpecTypeInfo" c:type="GParamSpecTypeInfo">
- <doc xml:space="preserve">This structure is used to provide the type system with the information
- required to initialize and destruct (finalize) a parameter's class and
- instances thereof.
- The initialized structure is passed to the g_param_type_register_static()
- The type system will perform a deep copy of this structure, so its memory
- does not need to be persistent across invocation of
- g_param_type_register_static().</doc>
- <field name="instance_size" writable="1">
- <doc xml:space="preserve">Size of the instance (object) structure.</doc>
- <type name="guint16" c:type="guint16"/>
- </field>
- <field name="n_preallocs" writable="1">
- <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>
- <type name="guint16" c:type="guint16"/>
- </field>
- <field name="instance_init">
- <callback name="instance_init">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="value_type" writable="1">
- <doc xml:space="preserve">The #GType of values conforming to this #GParamSpec</doc>
- <type name="GType" c:type="GType"/>
- </field>
- <field name="finalize">
- <callback name="finalize">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="value_set_default">
- <callback name="value_set_default">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="value_validate">
- <callback name="value_validate">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="values_cmp">
- <callback name="values_cmp">
- <return-value transfer-ownership="none">
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- <parameter name="value1" transfer-ownership="none">
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="value2" transfer-ownership="none">
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- </record>
- <class name="ParamSpecUChar"
- c:symbol-prefix="param_spec_uchar"
- c:type="GParamSpecUChar"
- parent="ParamSpec"
- glib:type-name="GParamUChar"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for unsigned character properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="minimum">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="guint8" c:type="guint8"/>
- </field>
- <field name="maximum">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="guint8" c:type="guint8"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="guint8" c:type="guint8"/>
- </field>
- </class>
- <class name="ParamSpecUInt"
- c:symbol-prefix="param_spec_uint"
- c:type="GParamSpecUInt"
- parent="ParamSpec"
- glib:type-name="GParamUInt"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for unsigned integer properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="minimum">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="maximum">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="guint" c:type="guint"/>
- </field>
- </class>
- <class name="ParamSpecUInt64"
- c:symbol-prefix="param_spec_uint64"
- c:type="GParamSpecUInt64"
- parent="ParamSpec"
- glib:type-name="GParamUInt64"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="minimum">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="guint64" c:type="guint64"/>
- </field>
- <field name="maximum">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="guint64" c:type="guint64"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="guint64" c:type="guint64"/>
- </field>
- </class>
- <class name="ParamSpecULong"
- c:symbol-prefix="param_spec_ulong"
- c:type="GParamSpecULong"
- parent="ParamSpec"
- glib:type-name="GParamULong"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for unsigned long integer properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="minimum">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="gulong" c:type="gulong"/>
- </field>
- <field name="maximum">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="gulong" c:type="gulong"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gulong" c:type="gulong"/>
- </field>
- </class>
- <class name="ParamSpecUnichar"
- c:symbol-prefix="param_spec_unichar"
- c:type="GParamSpecUnichar"
- parent="ParamSpec"
- glib:type-name="GParamUnichar"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gunichar" c:type="gunichar"/>
- </field>
- </class>
- <class name="ParamSpecValueArray"
- c:symbol-prefix="param_spec_value_array"
- c:type="GParamSpecValueArray"
- parent="ParamSpec"
- glib:type-name="GParamValueArray"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for #GValueArray properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="element_spec">
- <doc xml:space="preserve">a #GParamSpec describing the elements contained in arrays of this property, may be %NULL</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </field>
- <field name="fixed_n_elements">
- <doc xml:space="preserve">if greater than 0, arrays of this property will always have this many elements</doc>
- <type name="guint" c:type="guint"/>
- </field>
- </class>
- <class name="ParamSpecVariant"
- c:symbol-prefix="param_spec_variant"
- c:type="GParamSpecVariant"
- version="2.26"
- parent="ParamSpec"
- glib:type-name="GParamVariant"
- glib:get-type="intern"
- glib:fundamental="1">
- <doc xml:space="preserve">A #GParamSpec derived structure that contains the meta data for #GVariant properties.</doc>
- <field name="parent_instance">
- <doc xml:space="preserve">private #GParamSpec portion</doc>
- <type name="ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="type">
- <doc xml:space="preserve">a #GVariantType, or %NULL</doc>
- <type name="GLib.VariantType" c:type="GVariantType*"/>
- </field>
- <field name="default_value">
- <doc xml:space="preserve">a #GVariant, or %NULL</doc>
- <type name="GLib.Variant" c:type="GVariant*"/>
- </field>
- <field name="padding" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="gpointer" c:type="gpointer"/>
- </array>
- </field>
- </class>
- <record name="Parameter" c:type="GParameter">
- <doc xml:space="preserve">The GParameter struct is an auxiliary structure used
- to hand parameter name/value pairs to g_object_newv().</doc>
- <field name="name" writable="1">
- <doc xml:space="preserve">the parameter name</doc>
- <type name="utf8" c:type="const gchar*"/>
- </field>
- <field name="value" writable="1">
- <doc xml:space="preserve">the parameter value</doc>
- <type name="Value" c:type="GValue"/>
- </field>
- </record>
- <constant name="SIGNAL_FLAGS_MASK"
- value="511"
- c:type="G_SIGNAL_FLAGS_MASK">
- <doc xml:space="preserve">A mask for all #GSignalFlags bits.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="SIGNAL_MATCH_MASK" value="63" c:type="G_SIGNAL_MATCH_MASK">
- <doc xml:space="preserve">A mask for all #GSignalMatchType bits.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <callback name="SignalAccumulator" c:type="GSignalAccumulator">
- <doc xml:space="preserve">The signal accumulator is a special callback function that can be used
- to collect return values of the various callbacks that are called
- during a signal emission. The signal accumulator is specified at signal
- creation time, if it is left %NULL, no accumulation of callback return
- values is performed. The return value of signal emissions is then the
- value returned by the last callback.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The accumulator function returns whether the signal emission
- should be aborted. Returning %FALSE means to abort the
- current emission and %TRUE is returned for continuation.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="ihint" transfer-ownership="none">
- <doc xml:space="preserve">Signal invocation hint, see #GSignalInvocationHint.</doc>
- <type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
- </parameter>
- <parameter name="return_accu" transfer-ownership="none">
- <doc xml:space="preserve">Accumulator to collect callback return values in, this
- is the return value of the current signal emission.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="handler_return" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue holding the return value of the signal handler.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Callback data that was specified when creating the signal.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="SignalEmissionHook" c:type="GSignalEmissionHook">
- <doc xml:space="preserve">A simple function pointer to get invoked when the signal is emitted. This
- allows you to tie a hook to the signal type, so that it will trap all
- emissions of that signal, from any object.
- You may not attach these to signals created with the #G_SIGNAL_NO_HOOKS flag.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether it wants to stay connected. If it returns %FALSE, the signal
- hook is disconnected (and destroyed).</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="ihint" transfer-ownership="none">
- <doc xml:space="preserve">Signal invocation hint, see #GSignalInvocationHint.</doc>
- <type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">the number of parameters to the function, including
- the instance on which the signal was emitted.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which
- the signal was emitted, followed by the parameters of the emission.</doc>
- <array length="1" zero-terminated="0" c:type="GValue*">
- <type name="Value" c:type="GValue"/>
- </array>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">user data associated with the hook.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <bitfield name="SignalFlags" c:type="GSignalFlags">
- <doc xml:space="preserve">The signal flags are used to specify a signal's behaviour, the overall
- signal description outlines how especially the RUN flags control the
- stages of a signal emission.</doc>
- <member name="run_first" value="1" c:identifier="G_SIGNAL_RUN_FIRST">
- <doc xml:space="preserve">Invoke the object method handler in the first emission stage.</doc>
- </member>
- <member name="run_last" value="2" c:identifier="G_SIGNAL_RUN_LAST">
- <doc xml:space="preserve">Invoke the object method handler in the third emission stage.</doc>
- </member>
- <member name="run_cleanup" value="4" c:identifier="G_SIGNAL_RUN_CLEANUP">
- <doc xml:space="preserve">Invoke the object method handler in the last emission stage.</doc>
- </member>
- <member name="no_recurse" value="8" c:identifier="G_SIGNAL_NO_RECURSE">
- <doc xml:space="preserve">Signals being emitted for an object while currently being in
- emission for this very object will not be emitted recursively,
- but instead cause the first emission to be restarted.</doc>
- </member>
- <member name="detailed" value="16" c:identifier="G_SIGNAL_DETAILED">
- <doc xml:space="preserve">This signal supports "::detail" appendices to the signal name
- upon handler connections and emissions.</doc>
- </member>
- <member name="action" value="32" c:identifier="G_SIGNAL_ACTION">
- <doc xml:space="preserve">Action signals are signals that may freely be emitted on alive
- objects from user code via g_signal_emit() and friends, without
- the need of being embedded into extra code that performs pre or
- post emission adjustments on the object. They can also be thought
- of as object methods which can be called generically by
- third-party code.</doc>
- </member>
- <member name="no_hooks" value="64" c:identifier="G_SIGNAL_NO_HOOKS">
- <doc xml:space="preserve">No emissions hooks are supported for this signal.</doc>
- </member>
- <member name="must_collect"
- value="128"
- c:identifier="G_SIGNAL_MUST_COLLECT">
- <doc xml:space="preserve">Varargs signal emission will always collect the
- arguments, even if there are no signal handlers connected. Since 2.30.</doc>
- </member>
- <member name="deprecated" value="256" c:identifier="G_SIGNAL_DEPRECATED">
- <doc xml:space="preserve">The signal is deprecated and will be removed
- in a future version. A warning will be generated if it is connected while
- running with G_ENABLE_DIAGNOSTIC=1. Since 2.32.</doc>
- </member>
- </bitfield>
- <record name="SignalInvocationHint" c:type="GSignalInvocationHint">
- <doc xml:space="preserve">The #GSignalInvocationHint structure is used to pass on additional information
- to callbacks during a signal emission.</doc>
- <field name="signal_id" writable="1">
- <doc xml:space="preserve">The signal id of the signal invoking the callback</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="detail" writable="1">
- <doc xml:space="preserve">The detail passed on for this emission</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </field>
- <field name="run_type" writable="1">
- <doc xml:space="preserve">The stage the signal emission is currently in, this
- field will contain one of %G_SIGNAL_RUN_FIRST,
- %G_SIGNAL_RUN_LAST or %G_SIGNAL_RUN_CLEANUP.</doc>
- <type name="SignalFlags" c:type="GSignalFlags"/>
- </field>
- </record>
- <bitfield name="SignalMatchType" c:type="GSignalMatchType">
- <doc xml:space="preserve">The match types specify what g_signal_handlers_block_matched(),
- g_signal_handlers_unblock_matched() and g_signal_handlers_disconnect_matched()
- match signals by.</doc>
- <member name="id" value="1" c:identifier="G_SIGNAL_MATCH_ID">
- <doc xml:space="preserve">The signal id must be equal.</doc>
- </member>
- <member name="detail" value="2" c:identifier="G_SIGNAL_MATCH_DETAIL">
- <doc xml:space="preserve">The signal detail be equal.</doc>
- </member>
- <member name="closure" value="4" c:identifier="G_SIGNAL_MATCH_CLOSURE">
- <doc xml:space="preserve">The closure must be the same.</doc>
- </member>
- <member name="func" value="8" c:identifier="G_SIGNAL_MATCH_FUNC">
- <doc xml:space="preserve">The C closure callback must be the same.</doc>
- </member>
- <member name="data" value="16" c:identifier="G_SIGNAL_MATCH_DATA">
- <doc xml:space="preserve">The closure data must be the same.</doc>
- </member>
- <member name="unblocked"
- value="32"
- c:identifier="G_SIGNAL_MATCH_UNBLOCKED">
- <doc xml:space="preserve">Only unblocked signals may matched.</doc>
- </member>
- </bitfield>
- <record name="SignalQuery" c:type="GSignalQuery">
- <doc xml:space="preserve">A structure holding in-depth information for a specific signal. It is
- filled in by the g_signal_query() function.</doc>
- <field name="signal_id" writable="1">
- <doc xml:space="preserve">The signal id of the signal being queried, or 0 if the
- signal to be queried was unknown.</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="signal_name" writable="1">
- <doc xml:space="preserve">The signal name.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </field>
- <field name="itype" writable="1">
- <doc xml:space="preserve">The interface/instance type that this signal can be emitted for.</doc>
- <type name="GType" c:type="GType"/>
- </field>
- <field name="signal_flags" writable="1">
- <doc xml:space="preserve">The signal flags as passed in to g_signal_new().</doc>
- <type name="SignalFlags" c:type="GSignalFlags"/>
- </field>
- <field name="return_type" writable="1">
- <doc xml:space="preserve">The return type for user callbacks.</doc>
- <type name="GType" c:type="GType"/>
- </field>
- <field name="n_params" writable="1">
- <doc xml:space="preserve">The number of parameters that user callbacks take.</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="param_types" writable="1">
- <doc xml:space="preserve">The individual parameter types for
- user callbacks, note that the effective callback signature is:
- |[<!-- language="C" -->
- @return_type callback (#gpointer data1,
- [param_types param_names,]
- gpointer data2);
- ]|</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </field>
- </record>
- <constant name="TYPE_FLAG_RESERVED_ID_BIT"
- value="1"
- c:type="G_TYPE_FLAG_RESERVED_ID_BIT">
- <doc xml:space="preserve">A bit in the type number that's supposed to be left untouched.</doc>
- <type name="GLib.Type" c:type="GType"/>
- </constant>
- <constant name="TYPE_FUNDAMENTAL_MAX"
- value="255"
- c:type="G_TYPE_FUNDAMENTAL_MAX">
- <doc xml:space="preserve">An integer constant that represents the number of identifiers reserved
- for types that are assigned at compile-time.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="TYPE_FUNDAMENTAL_SHIFT"
- value="2"
- c:type="G_TYPE_FUNDAMENTAL_SHIFT">
- <doc xml:space="preserve">Shift value used in converting numbers to type IDs.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="TYPE_RESERVED_BSE_FIRST"
- value="32"
- c:type="G_TYPE_RESERVED_BSE_FIRST">
- <doc xml:space="preserve">First fundamental type number to create a new fundamental type id with
- G_TYPE_MAKE_FUNDAMENTAL() reserved for BSE.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="TYPE_RESERVED_BSE_LAST"
- value="48"
- c:type="G_TYPE_RESERVED_BSE_LAST">
- <doc xml:space="preserve">Last fundamental type number reserved for BSE.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="TYPE_RESERVED_GLIB_FIRST"
- value="22"
- c:type="G_TYPE_RESERVED_GLIB_FIRST">
- <doc xml:space="preserve">First fundamental type number to create a new fundamental type id with
- G_TYPE_MAKE_FUNDAMENTAL() reserved for GLib.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="TYPE_RESERVED_GLIB_LAST"
- value="31"
- c:type="G_TYPE_RESERVED_GLIB_LAST">
- <doc xml:space="preserve">Last fundamental type number reserved for GLib.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="TYPE_RESERVED_USER_FIRST"
- value="49"
- c:type="G_TYPE_RESERVED_USER_FIRST">
- <doc xml:space="preserve">First available fundamental type number to create new fundamental
- type id with G_TYPE_MAKE_FUNDAMENTAL().</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <callback name="ToggleNotify" c:type="GToggleNotify">
- <doc xml:space="preserve">A callback function used for notification when the state
- of a toggle reference changes. See g_object_add_toggle_ref().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Callback data passed to g_object_add_toggle_ref()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">The object on which g_object_add_toggle_ref() was called.</doc>
- <type name="Object" c:type="GObject*"/>
- </parameter>
- <parameter name="is_last_ref" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the toggle reference is now the
- last reference to the object. %FALSE if the toggle
- reference was the last reference and there are now other
- references.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </callback>
- <union name="TypeCValue" c:type="GTypeCValue">
- <doc xml:space="preserve">A union holding one collected value.</doc>
- <field name="v_int" writable="1">
- <doc xml:space="preserve">the field for holding integer values</doc>
- <type name="gint" c:type="gint"/>
- </field>
- <field name="v_long" writable="1">
- <doc xml:space="preserve">the field for holding long integer values</doc>
- <type name="glong" c:type="glong"/>
- </field>
- <field name="v_int64" writable="1">
- <doc xml:space="preserve">the field for holding 64 bit integer values</doc>
- <type name="gint64" c:type="gint64"/>
- </field>
- <field name="v_double" writable="1">
- <doc xml:space="preserve">the field for holding floating point values</doc>
- <type name="gdouble" c:type="gdouble"/>
- </field>
- <field name="v_pointer" writable="1">
- <doc xml:space="preserve">the field for holding pointers</doc>
- <type name="gpointer" c:type="gpointer"/>
- </field>
- </union>
- <record name="TypeClass" c:type="GTypeClass">
- <doc xml:space="preserve">An opaque structure used as the base of all classes.</doc>
- <field name="g_type" readable="0" private="1">
- <type name="GType" c:type="GType"/>
- </field>
- <method name="add_private"
- c:identifier="g_type_class_add_private"
- version="2.4">
- <doc xml:space="preserve">Registers a private structure for an instantiatable type.
- When an object is allocated, the private structures for
- the type and all of its parent types are allocated
- sequentially in the same memory block as the public
- structures, and are zero-filled.
- Note that the accumulated size of the private structures of
- a type and all its parent types cannot exceed 64 KiB.
- This function should be called in the type's class_init() function.
- The private structure can be retrieved using the
- G_TYPE_INSTANCE_GET_PRIVATE() macro.
- The following example shows attaching a private structure
- MyObjectPrivate to an object MyObject defined in the standard
- GObject fashion in the type's class_init() function.
- Note the use of a structure member "priv" to avoid the overhead
- of repeatedly calling MY_OBJECT_GET_PRIVATE().
- |[<!-- language="C" -->
- typedef struct _MyObject MyObject;
- typedef struct _MyObjectPrivate MyObjectPrivate;
- struct _MyObject {
- GObject parent;
- MyObjectPrivate *priv;
- };
- struct _MyObjectPrivate {
- int some_field;
- };
- static void
- my_object_class_init (MyObjectClass *klass)
- {
- g_type_class_add_private (klass, sizeof (MyObjectPrivate));
- }
- static void
- my_object_init (MyObject *my_object)
- {
- my_object->priv = G_TYPE_INSTANCE_GET_PRIVATE (my_object,
- MY_TYPE_OBJECT,
- MyObjectPrivate);
- // my_object->priv->some_field will be automatically initialised to 0
- }
- static int
- my_object_get_some_field (MyObject *my_object)
- {
- MyObjectPrivate *priv;
- g_return_val_if_fail (MY_IS_OBJECT (my_object), 0);
- priv = my_object->priv;
- return priv->some_field;
- }
- ]|</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="g_class" transfer-ownership="none">
- <doc xml:space="preserve">class structure for an instantiatable
- type</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </instance-parameter>
- <parameter name="private_size" transfer-ownership="none">
- <doc xml:space="preserve">size of private structure</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_instance_private_offset"
- c:identifier="g_type_class_get_instance_private_offset"
- version="2.38"
- introspectable="0">
- <doc xml:space="preserve">Gets the offset of the private data for instances of @g_class.
- This is how many bytes you should add to the instance pointer of a
- class in order to get the private data for the type represented by
- @g_class.
- You can only call this function after you have registered a private
- data area for @g_class using g_type_class_add_private().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the offset, in bytes</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <instance-parameter name="g_class" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypeClass</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_private" c:identifier="g_type_class_get_private">
- <return-value transfer-ownership="none" nullable="1">
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="klass" transfer-ownership="none">
- <type name="TypeClass" c:type="GTypeClass*"/>
- </instance-parameter>
- <parameter name="private_type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_parent" c:identifier="g_type_class_peek_parent">
- <doc xml:space="preserve">This is a convenience function often needed in class initializers.
- It returns the class structure of the immediate parent type of the
- class passed in. Since derived classes hold a reference count on
- their parent classes as long as they are instantiated, the returned
- class will always exist.
- This function is essentially equivalent to:
- g_type_class_peek (g_type_parent (G_TYPE_FROM_CLASS (g_class)))</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the parent class
- of @g_class</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="g_class" transfer-ownership="none">
- <doc xml:space="preserve">the #GTypeClass structure to
- retrieve the parent class for</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="unref" c:identifier="g_type_class_unref">
- <doc xml:space="preserve">Decrements the reference count of the class structure being passed in.
- Once the last reference count of a class has been released, classes
- may be finalized by the type system, so further dereferencing of a
- class pointer after g_type_class_unref() are invalid.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="g_class" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypeClass structure to unref</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="unref_uncached"
- c:identifier="g_type_class_unref_uncached"
- introspectable="0">
- <doc xml:space="preserve">A variant of g_type_class_unref() for use in #GTypeClassCacheFunc
- implementations. It unreferences a class without consulting the chain
- of #GTypeClassCacheFuncs, avoiding the recursion which would occur
- otherwise.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="g_class" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypeClass structure to unref</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </instance-parameter>
- </parameters>
- </method>
- <function name="adjust_private_offset"
- c:identifier="g_type_class_adjust_private_offset">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="g_class"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="private_size_or_offset" transfer-ownership="none">
- <type name="gint" c:type="gint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="peek" c:identifier="g_type_class_peek">
- <doc xml:space="preserve">This function is essentially the same as g_type_class_ref(),
- except that the classes reference count isn't incremented.
- As a consequence, this function may return %NULL if the class
- of the type passed in does not currently exist (hasn't been
- referenced before).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GTypeClass
- structure for the given type ID or %NULL if the class does not
- currently exist</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">type ID of a classed type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="peek_static"
- c:identifier="g_type_class_peek_static"
- version="2.4">
- <doc xml:space="preserve">A more efficient version of g_type_class_peek() which works only for
- static types.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GTypeClass
- structure for the given type ID or %NULL if the class does not
- currently exist or is dynamically loaded</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">type ID of a classed type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="ref" c:identifier="g_type_class_ref">
- <doc xml:space="preserve">Increments the reference count of the class structure belonging to
- @type. This function will demand-create the class if it doesn't
- exist already.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GTypeClass
- structure for the given type ID</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">type ID of a classed type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <callback name="TypeClassCacheFunc" c:type="GTypeClassCacheFunc">
- <doc xml:space="preserve">A callback function which is called when the reference count of a class
- drops to zero. It may use g_type_class_ref() to prevent the class from
- being freed. You should not call g_type_class_unref() from a
- #GTypeClassCacheFunc function to prevent infinite recursion, use
- g_type_class_unref_uncached() instead.
- The functions have to check the class id passed in to figure
- whether they actually want to cache the class of this type, since all
- classes are routed through the same #GTypeClassCacheFunc chain.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE to stop further #GTypeClassCacheFuncs from being
- called, %FALSE to continue</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="cache_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data that was given to the g_type_add_class_cache_func() call</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="g_class" transfer-ownership="none">
- <doc xml:space="preserve">The #GTypeClass structure which is
- unreferenced</doc>
- <type name="TypeClass" c:type="GTypeClass*"/>
- </parameter>
- </parameters>
- </callback>
- <bitfield name="TypeDebugFlags"
- deprecated="1"
- deprecated-version="2.36"
- c:type="GTypeDebugFlags">
- <doc xml:space="preserve">These flags used to be passed to g_type_init_with_debug_flags() which
- is now deprecated.
- If you need to enable debugging features, use the GOBJECT_DEBUG
- environment variable.</doc>
- <doc-deprecated xml:space="preserve">g_type_init() is now done automatically</doc-deprecated>
- <member name="none" value="0" c:identifier="G_TYPE_DEBUG_NONE">
- <doc xml:space="preserve">Print no messages</doc>
- </member>
- <member name="objects" value="1" c:identifier="G_TYPE_DEBUG_OBJECTS">
- <doc xml:space="preserve">Print messages about object bookkeeping</doc>
- </member>
- <member name="signals" value="2" c:identifier="G_TYPE_DEBUG_SIGNALS">
- <doc xml:space="preserve">Print messages about signal emissions</doc>
- </member>
- <member name="instance_count"
- value="4"
- c:identifier="G_TYPE_DEBUG_INSTANCE_COUNT">
- <doc xml:space="preserve">Keep a count of instances of each type</doc>
- </member>
- <member name="mask" value="7" c:identifier="G_TYPE_DEBUG_MASK">
- <doc xml:space="preserve">Mask covering all debug flags</doc>
- </member>
- </bitfield>
- <bitfield name="TypeFlags" c:type="GTypeFlags">
- <doc xml:space="preserve">Bit masks used to check or determine characteristics of a type.</doc>
- <member name="abstract" value="16" c:identifier="G_TYPE_FLAG_ABSTRACT">
- <doc xml:space="preserve">Indicates an abstract type. No instances can be
- created for an abstract type</doc>
- </member>
- <member name="value_abstract"
- value="32"
- c:identifier="G_TYPE_FLAG_VALUE_ABSTRACT">
- <doc xml:space="preserve">Indicates an abstract value type, i.e. a type
- that introduces a value table, but can't be used for
- g_value_init()</doc>
- </member>
- </bitfield>
- <bitfield name="TypeFundamentalFlags" c:type="GTypeFundamentalFlags">
- <doc xml:space="preserve">Bit masks used to check or determine specific characteristics of a
- fundamental type.</doc>
- <member name="classed" value="1" c:identifier="G_TYPE_FLAG_CLASSED">
- <doc xml:space="preserve">Indicates a classed type</doc>
- </member>
- <member name="instantiatable"
- value="2"
- c:identifier="G_TYPE_FLAG_INSTANTIATABLE">
- <doc xml:space="preserve">Indicates an instantiable type (implies classed)</doc>
- </member>
- <member name="derivable" value="4" c:identifier="G_TYPE_FLAG_DERIVABLE">
- <doc xml:space="preserve">Indicates a flat derivable type</doc>
- </member>
- <member name="deep_derivable"
- value="8"
- c:identifier="G_TYPE_FLAG_DEEP_DERIVABLE">
- <doc xml:space="preserve">Indicates a deep derivable type (implies derivable)</doc>
- </member>
- </bitfield>
- <record name="TypeFundamentalInfo" c:type="GTypeFundamentalInfo">
- <doc xml:space="preserve">A structure that provides information to the type system which is
- used specifically for managing fundamental types.</doc>
- <field name="type_flags" writable="1">
- <doc xml:space="preserve">#GTypeFundamentalFlags describing the characteristics of the fundamental type</doc>
- <type name="TypeFundamentalFlags" c:type="GTypeFundamentalFlags"/>
- </field>
- </record>
- <record name="TypeInfo" c:type="GTypeInfo">
- <doc xml:space="preserve">This structure is used to provide the type system with the information
- required to initialize and destruct (finalize) a type's class and
- its instances.
- The initialized structure is passed to the g_type_register_static() function
- (or is copied into the provided #GTypeInfo structure in the
- g_type_plugin_complete_type_info()). The type system will perform a deep
- copy of this structure, so its memory does not need to be persistent
- across invocation of g_type_register_static().</doc>
- <field name="class_size" writable="1">
- <doc xml:space="preserve">Size of the class structure (required for interface, classed and instantiatable types)</doc>
- <type name="guint16" c:type="guint16"/>
- </field>
- <field name="base_init" writable="1">
- <doc xml:space="preserve">Location of the base initialization function (optional)</doc>
- <type name="BaseInitFunc" c:type="GBaseInitFunc"/>
- </field>
- <field name="base_finalize" writable="1">
- <doc xml:space="preserve">Location of the base finalization function (optional)</doc>
- <type name="BaseFinalizeFunc" c:type="GBaseFinalizeFunc"/>
- </field>
- <field name="class_init" writable="1">
- <doc xml:space="preserve">Location of the class initialization function for
- classed and instantiatable types. Location of the default vtable
- inititalization function for interface types. (optional) This function
- is used both to fill in virtual functions in the class or default vtable,
- and to do type-specific setup such as registering signals and object
- properties.</doc>
- <type name="ClassInitFunc" c:type="GClassInitFunc"/>
- </field>
- <field name="class_finalize" writable="1">
- <doc xml:space="preserve">Location of the class finalization function for
- classed and instantiatable types. Location of the default vtable
- finalization function for interface types. (optional)</doc>
- <type name="ClassFinalizeFunc" c:type="GClassFinalizeFunc"/>
- </field>
- <field name="class_data" writable="1">
- <doc xml:space="preserve">User-supplied data passed to the class init/finalize functions</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </field>
- <field name="instance_size" writable="1">
- <doc xml:space="preserve">Size of the instance (object) structure (required for instantiatable types only)</doc>
- <type name="guint16" c:type="guint16"/>
- </field>
- <field name="n_preallocs" writable="1">
- <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>
- <type name="guint16" c:type="guint16"/>
- </field>
- <field name="instance_init" writable="1">
- <doc xml:space="preserve">Location of the instance initialization function (optional, for instantiatable types only)</doc>
- <type name="InstanceInitFunc" c:type="GInstanceInitFunc"/>
- </field>
- <field name="value_table" writable="1">
- <doc xml:space="preserve">A #GTypeValueTable function table for generic handling of GValues
- of this type (usually only useful for fundamental types)</doc>
- <type name="TypeValueTable" c:type="const GTypeValueTable*"/>
- </field>
- </record>
- <record name="TypeInstance" c:type="GTypeInstance">
- <doc xml:space="preserve">An opaque structure used as the base of all type instances.</doc>
- <field name="g_class" readable="0" private="1">
- <type name="TypeClass" c:type="GTypeClass*"/>
- </field>
- <method name="get_private" c:identifier="g_type_instance_get_private">
- <return-value transfer-ownership="none" nullable="1">
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="instance" transfer-ownership="none">
- <type name="TypeInstance" c:type="GTypeInstance*"/>
- </instance-parameter>
- <parameter name="private_type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="TypeInterface" c:type="GTypeInterface">
- <doc xml:space="preserve">An opaque structure used as the base of all interface types.</doc>
- <field name="g_type" readable="0" private="1">
- <type name="GType" c:type="GType"/>
- </field>
- <field name="g_instance_type" readable="0" private="1">
- <type name="GType" c:type="GType"/>
- </field>
- <method name="peek_parent" c:identifier="g_type_interface_peek_parent">
- <doc xml:space="preserve">Returns the corresponding #GTypeInterface structure of the parent type
- of the instance type to which @g_iface belongs. This is useful when
- deriving the implementation of an interface from the parent type and
- then possibly overriding some methods.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the
- corresponding #GTypeInterface structure of the parent type of the
- instance type to which @g_iface belongs, or %NULL if the parent
- type doesn't conform to the interface</doc>
- <type name="TypeInterface" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="g_iface" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypeInterface structure</doc>
- <type name="TypeInterface" c:type="gpointer"/>
- </instance-parameter>
- </parameters>
- </method>
- <function name="add_prerequisite"
- c:identifier="g_type_interface_add_prerequisite">
- <doc xml:space="preserve">Adds @prerequisite_type to the list of prerequisites of @interface_type.
- This means that any type implementing @interface_type must also implement
- @prerequisite_type. Prerequisites can be thought of as an alternative to
- interface derivation (which GType doesn't support). An interface can have
- at most one instantiatable prerequisite type.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="interface_type" transfer-ownership="none">
- <doc xml:space="preserve">#GType value of an interface type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="prerequisite_type" transfer-ownership="none">
- <doc xml:space="preserve">#GType value of an interface or instantiatable type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="get_plugin" c:identifier="g_type_interface_get_plugin">
- <doc xml:space="preserve">Returns the #GTypePlugin structure for the dynamic interface
- @interface_type which has been added to @instance_type, or %NULL
- if @interface_type has not been added to @instance_type or does
- not have a #GTypePlugin structure. See g_type_add_interface_dynamic().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GTypePlugin for the dynamic
- interface @interface_type of @instance_type</doc>
- <type name="TypePlugin" c:type="GTypePlugin*"/>
- </return-value>
- <parameters>
- <parameter name="instance_type" transfer-ownership="none">
- <doc xml:space="preserve">#GType of an instantiatable type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="interface_type" transfer-ownership="none">
- <doc xml:space="preserve">#GType of an interface type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="peek" c:identifier="g_type_interface_peek">
- <doc xml:space="preserve">Returns the #GTypeInterface structure of an interface to which the
- passed in class conforms.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GTypeInterface
- structure of @iface_type if implemented by @instance_class, %NULL
- otherwise</doc>
- <type name="TypeInterface" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="instance_class" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypeClass structure</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </parameter>
- <parameter name="iface_type" transfer-ownership="none">
- <doc xml:space="preserve">an interface ID which this class conforms to</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="prerequisites"
- c:identifier="g_type_interface_prerequisites"
- version="2.2">
- <doc xml:space="preserve">Returns the prerequisites of an interfaces type.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a
- newly-allocated zero-terminated array of #GType containing
- the prerequisites of @interface_type</doc>
- <array length="1" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="interface_type" transfer-ownership="none">
- <doc xml:space="preserve">an interface type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="n_prerequisites"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to return the number
- of prerequisites, or %NULL</doc>
- <type name="guint" c:type="guint*"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <callback name="TypeInterfaceCheckFunc"
- c:type="GTypeInterfaceCheckFunc"
- version="2.4">
- <doc xml:space="preserve">A callback called after an interface vtable is initialized.
- See g_type_add_interface_check().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="check_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data passed to g_type_add_interface_check()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="g_iface" transfer-ownership="none">
- <doc xml:space="preserve">the interface that has been
- initialized</doc>
- <type name="TypeInterface" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <class name="TypeModule"
- c:symbol-prefix="type_module"
- c:type="GTypeModule"
- parent="Object"
- abstract="1"
- glib:type-name="GTypeModule"
- glib:get-type="g_type_module_get_type"
- glib:type-struct="TypeModuleClass">
- <doc xml:space="preserve">#GTypeModule provides a simple implementation of the #GTypePlugin
- interface. The model of #GTypeModule is a dynamically loaded module
- which implements some number of types and interface implementations.
- When the module is loaded, it registers its types and interfaces
- using g_type_module_register_type() and g_type_module_add_interface().
- As long as any instances of these types and interface implementations
- are in use, the module is kept loaded. When the types and interfaces
- are gone, the module may be unloaded. If the types and interfaces
- become used again, the module will be reloaded. Note that the last
- unref cannot happen in module code, since that would lead to the
- caller's code being unloaded before g_object_unref() returns to it.
- Keeping track of whether the module should be loaded or not is done by
- using a use count - it starts at zero, and whenever it is greater than
- zero, the module is loaded. The use count is maintained internally by
- the type system, but also can be explicitly controlled by
- g_type_module_use() and g_type_module_unuse(). Typically, when loading
- a module for the first type, g_type_module_use() will be used to load
- it so that it can initialize its types. At some later point, when the
- module no longer needs to be loaded except for the type
- implementations it contains, g_type_module_unuse() is called.
- #GTypeModule does not actually provide any implementation of module
- loading and unloading. To create a particular module type you must
- derive from #GTypeModule and implement the load and unload functions
- in #GTypeModuleClass.</doc>
- <implements name="TypePlugin"/>
- <virtual-method name="load">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="module" transfer-ownership="none">
- <type name="TypeModule" c:type="GTypeModule*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="unload">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="module" transfer-ownership="none">
- <type name="TypeModule" c:type="GTypeModule*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <method name="add_interface" c:identifier="g_type_module_add_interface">
- <doc xml:space="preserve">Registers an additional interface for a type, whose interface lives
- in the given type plugin. If the interface was already registered
- for the type in this plugin, nothing will be done.
- As long as any instances of the type exist, the type plugin will
- not be unloaded.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="module" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypeModule</doc>
- <type name="TypeModule" c:type="GTypeModule*"/>
- </instance-parameter>
- <parameter name="instance_type" transfer-ownership="none">
- <doc xml:space="preserve">type to which to add the interface.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="interface_type" transfer-ownership="none">
- <doc xml:space="preserve">interface type to add</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="interface_info" transfer-ownership="none">
- <doc xml:space="preserve">type information structure</doc>
- <type name="InterfaceInfo" c:type="const GInterfaceInfo*"/>
- </parameter>
- </parameters>
- </method>
- <method name="register_enum"
- c:identifier="g_type_module_register_enum"
- version="2.6">
- <doc xml:space="preserve">Looks up or registers an enumeration that is implemented with a particular
- type plugin. If a type with name @type_name was previously registered,
- the #GType identifier for the type is returned, otherwise the type
- is newly registered, and the resulting #GType identifier returned.
- As long as any instances of the type exist, the type plugin will
- not be unloaded.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the new or existing type ID</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <instance-parameter name="module" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypeModule</doc>
- <type name="TypeModule" c:type="GTypeModule*"/>
- </instance-parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">name for the type</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="const_static_values" transfer-ownership="none">
- <doc xml:space="preserve">an array of #GEnumValue structs for the
- possible enumeration values. The array is
- terminated by a struct with all members being
- 0.</doc>
- <type name="EnumValue" c:type="const GEnumValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="register_flags"
- c:identifier="g_type_module_register_flags"
- version="2.6">
- <doc xml:space="preserve">Looks up or registers a flags type that is implemented with a particular
- type plugin. If a type with name @type_name was previously registered,
- the #GType identifier for the type is returned, otherwise the type
- is newly registered, and the resulting #GType identifier returned.
- As long as any instances of the type exist, the type plugin will
- not be unloaded.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the new or existing type ID</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <instance-parameter name="module" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypeModule</doc>
- <type name="TypeModule" c:type="GTypeModule*"/>
- </instance-parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">name for the type</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="const_static_values" transfer-ownership="none">
- <doc xml:space="preserve">an array of #GFlagsValue structs for the
- possible flags values. The array is
- terminated by a struct with all members being
- 0.</doc>
- <type name="FlagsValue" c:type="const GFlagsValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="register_type" c:identifier="g_type_module_register_type">
- <doc xml:space="preserve">Looks up or registers a type that is implemented with a particular
- type plugin. If a type with name @type_name was previously registered,
- the #GType identifier for the type is returned, otherwise the type
- is newly registered, and the resulting #GType identifier returned.
- When reregistering a type (typically because a module is unloaded
- then reloaded, and reinitialized), @module and @parent_type must
- be the same as they were previously.
- As long as any instances of the type exist, the type plugin will
- not be unloaded.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the new or existing type ID</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <instance-parameter name="module" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypeModule</doc>
- <type name="TypeModule" c:type="GTypeModule*"/>
- </instance-parameter>
- <parameter name="parent_type" transfer-ownership="none">
- <doc xml:space="preserve">the type for the parent class</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="type_name" transfer-ownership="none">
- <doc xml:space="preserve">name for the type</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="type_info" transfer-ownership="none">
- <doc xml:space="preserve">type information structure</doc>
- <type name="TypeInfo" c:type="const GTypeInfo*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags field providing details about the type</doc>
- <type name="TypeFlags" c:type="GTypeFlags"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_name" c:identifier="g_type_module_set_name">
- <doc xml:space="preserve">Sets the name for a #GTypeModule</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="module" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypeModule.</doc>
- <type name="TypeModule" c:type="GTypeModule*"/>
- </instance-parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">a human-readable name to use in error messages.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="unuse" c:identifier="g_type_module_unuse">
- <doc xml:space="preserve">Decreases the use count of a #GTypeModule by one. If the
- result is zero, the module will be unloaded. (However, the
- #GTypeModule will not be freed, and types associated with the
- #GTypeModule are not unregistered. Once a #GTypeModule is
- initialized, it must exist forever.)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="module" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypeModule</doc>
- <type name="TypeModule" c:type="GTypeModule*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="use" c:identifier="g_type_module_use">
- <doc xml:space="preserve">Increases the use count of a #GTypeModule by one. If the
- use count was zero before, the plugin will be loaded.
- If loading the plugin fails, the use count is reset to
- its prior value.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%FALSE if the plugin needed to be loaded and
- loading the plugin failed.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="module" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypeModule</doc>
- <type name="TypeModule" c:type="GTypeModule*"/>
- </instance-parameter>
- </parameters>
- </method>
- <field name="parent_instance">
- <type name="Object" c:type="GObject"/>
- </field>
- <field name="use_count">
- <type name="guint" c:type="guint"/>
- </field>
- <field name="type_infos">
- <type name="GLib.SList" c:type="GSList*">
- <type name="gpointer" c:type="gpointer"/>
- </type>
- </field>
- <field name="interface_infos">
- <type name="GLib.SList" c:type="GSList*">
- <type name="gpointer" c:type="gpointer"/>
- </type>
- </field>
- <field name="name">
- <doc xml:space="preserve">the name of the module</doc>
- <type name="utf8" c:type="gchar*"/>
- </field>
- </class>
- <record name="TypeModuleClass"
- c:type="GTypeModuleClass"
- glib:is-gtype-struct-for="TypeModule">
- <doc xml:space="preserve">In order to implement dynamic loading of types based on #GTypeModule,
- the @load and @unload functions in #GTypeModuleClass must be implemented.</doc>
- <field name="parent_class">
- <doc xml:space="preserve">the parent class</doc>
- <type name="ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="load">
- <callback name="load">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="module" transfer-ownership="none">
- <type name="TypeModule" c:type="GTypeModule*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="unload">
- <callback name="unload">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="module" transfer-ownership="none">
- <type name="TypeModule" c:type="GTypeModule*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="reserved1">
- <callback name="reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="reserved2">
- <callback name="reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="reserved3">
- <callback name="reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="reserved4">
- <callback name="reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <interface name="TypePlugin"
- c:symbol-prefix="type_plugin"
- c:type="GTypePlugin"
- glib:type-name="GTypePlugin"
- glib:get-type="g_type_plugin_get_type">
- <doc xml:space="preserve">The GObject type system supports dynamic loading of types.
- The #GTypePlugin interface is used to handle the lifecycle
- of dynamically loaded types. It goes as follows:
- 1. The type is initially introduced (usually upon loading the module
- the first time, or by your main application that knows what modules
- introduces what types), like this:
- |[<!-- language="C" -->
- new_type_id = g_type_register_dynamic (parent_type_id,
- "TypeName",
- new_type_plugin,
- type_flags);
- ]|
- where @new_type_plugin is an implementation of the
- #GTypePlugin interface.
- 2. The type's implementation is referenced, e.g. through
- g_type_class_ref() or through g_type_create_instance() (this is
- being called by g_object_new()) or through one of the above done on
- a type derived from @new_type_id.
- 3. This causes the type system to load the type's implementation by
- calling g_type_plugin_use() and g_type_plugin_complete_type_info()
- on @new_type_plugin.
- 4. At some point the type's implementation isn't required anymore,
- e.g. after g_type_class_unref() or g_type_free_instance() (called
- when the reference count of an instance drops to zero).
- 5. This causes the type system to throw away the information retrieved
- from g_type_plugin_complete_type_info() and then it calls
- g_type_plugin_unuse() on @new_type_plugin.
- 6. Things may repeat from the second step.
- So basically, you need to implement a #GTypePlugin type that
- carries a use_count, once use_count goes from zero to one, you need
- to load the implementation to successfully handle the upcoming
- g_type_plugin_complete_type_info() call. Later, maybe after
- succeeding use/unuse calls, once use_count drops to zero, you can
- unload the implementation again. The type system makes sure to call
- g_type_plugin_use() and g_type_plugin_complete_type_info() again
- when the type is needed again.
- #GTypeModule is an implementation of #GTypePlugin that already
- implements most of this except for the actual module loading and
- unloading. It even handles multiple registered types per module.</doc>
- <method name="complete_interface_info"
- c:identifier="g_type_plugin_complete_interface_info">
- <doc xml:space="preserve">Calls the @complete_interface_info function from the
- #GTypePluginClass of @plugin. There should be no need to use this
- function outside of the GObject type system itself.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="plugin" transfer-ownership="none">
- <doc xml:space="preserve">the #GTypePlugin</doc>
- <type name="TypePlugin" c:type="GTypePlugin*"/>
- </instance-parameter>
- <parameter name="instance_type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of an instantiable type to which the interface
- is added</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="interface_type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of the interface whose info is completed</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="info" transfer-ownership="none">
- <doc xml:space="preserve">the #GInterfaceInfo to fill in</doc>
- <type name="InterfaceInfo" c:type="GInterfaceInfo*"/>
- </parameter>
- </parameters>
- </method>
- <method name="complete_type_info"
- c:identifier="g_type_plugin_complete_type_info">
- <doc xml:space="preserve">Calls the @complete_type_info function from the #GTypePluginClass of @plugin.
- There should be no need to use this function outside of the GObject
- type system itself.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="plugin" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypePlugin</doc>
- <type name="TypePlugin" c:type="GTypePlugin*"/>
- </instance-parameter>
- <parameter name="g_type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType whose info is completed</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="info" transfer-ownership="none">
- <doc xml:space="preserve">the #GTypeInfo struct to fill in</doc>
- <type name="TypeInfo" c:type="GTypeInfo*"/>
- </parameter>
- <parameter name="value_table" transfer-ownership="none">
- <doc xml:space="preserve">the #GTypeValueTable to fill in</doc>
- <type name="TypeValueTable" c:type="GTypeValueTable*"/>
- </parameter>
- </parameters>
- </method>
- <method name="unuse" c:identifier="g_type_plugin_unuse">
- <doc xml:space="preserve">Calls the @unuse_plugin function from the #GTypePluginClass of
- @plugin. There should be no need to use this function outside of
- the GObject type system itself.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="plugin" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypePlugin</doc>
- <type name="TypePlugin" c:type="GTypePlugin*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="use" c:identifier="g_type_plugin_use">
- <doc xml:space="preserve">Calls the @use_plugin function from the #GTypePluginClass of
- @plugin. There should be no need to use this function outside of
- the GObject type system itself.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="plugin" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypePlugin</doc>
- <type name="TypePlugin" c:type="GTypePlugin*"/>
- </instance-parameter>
- </parameters>
- </method>
- </interface>
- <record name="TypePluginClass" c:type="GTypePluginClass">
- <doc xml:space="preserve">The #GTypePlugin interface is used by the type system in order to handle
- the lifecycle of dynamically loaded types.</doc>
- <field name="base_iface" readable="0" private="1">
- <type name="TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="use_plugin" writable="1">
- <doc xml:space="preserve">Increases the use count of the plugin.</doc>
- <type name="TypePluginUse" c:type="GTypePluginUse"/>
- </field>
- <field name="unuse_plugin" writable="1">
- <doc xml:space="preserve">Decreases the use count of the plugin.</doc>
- <type name="TypePluginUnuse" c:type="GTypePluginUnuse"/>
- </field>
- <field name="complete_type_info" writable="1">
- <doc xml:space="preserve">Fills in the #GTypeInfo and
- #GTypeValueTable structs for the type. The structs are initialized
- with `memset(s, 0, sizeof (s))` before calling this function.</doc>
- <type name="TypePluginCompleteTypeInfo"
- c:type="GTypePluginCompleteTypeInfo"/>
- </field>
- <field name="complete_interface_info" writable="1">
- <doc xml:space="preserve">Fills in missing parts of the #GInterfaceInfo
- for the interface. The structs is initialized with
- `memset(s, 0, sizeof (s))` before calling this function.</doc>
- <type name="TypePluginCompleteInterfaceInfo"
- c:type="GTypePluginCompleteInterfaceInfo"/>
- </field>
- </record>
- <callback name="TypePluginCompleteInterfaceInfo"
- c:type="GTypePluginCompleteInterfaceInfo">
- <doc xml:space="preserve">The type of the @complete_interface_info function of #GTypePluginClass.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="plugin" transfer-ownership="none">
- <doc xml:space="preserve">the #GTypePlugin</doc>
- <type name="TypePlugin" c:type="GTypePlugin*"/>
- </parameter>
- <parameter name="instance_type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of an instantiable type to which the interface
- is added</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="interface_type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of the interface whose info is completed</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="info" transfer-ownership="none">
- <doc xml:space="preserve">the #GInterfaceInfo to fill in</doc>
- <type name="InterfaceInfo" c:type="GInterfaceInfo*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="TypePluginCompleteTypeInfo"
- c:type="GTypePluginCompleteTypeInfo">
- <doc xml:space="preserve">The type of the @complete_type_info function of #GTypePluginClass.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="plugin" transfer-ownership="none">
- <doc xml:space="preserve">the #GTypePlugin</doc>
- <type name="TypePlugin" c:type="GTypePlugin*"/>
- </parameter>
- <parameter name="g_type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType whose info is completed</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="info" transfer-ownership="none">
- <doc xml:space="preserve">the #GTypeInfo struct to fill in</doc>
- <type name="TypeInfo" c:type="GTypeInfo*"/>
- </parameter>
- <parameter name="value_table" transfer-ownership="none">
- <doc xml:space="preserve">the #GTypeValueTable to fill in</doc>
- <type name="TypeValueTable" c:type="GTypeValueTable*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="TypePluginUnuse" c:type="GTypePluginUnuse">
- <doc xml:space="preserve">The type of the @unuse_plugin function of #GTypePluginClass.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="plugin" transfer-ownership="none">
- <doc xml:space="preserve">the #GTypePlugin whose use count should be decreased</doc>
- <type name="TypePlugin" c:type="GTypePlugin*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="TypePluginUse" c:type="GTypePluginUse">
- <doc xml:space="preserve">The type of the @use_plugin function of #GTypePluginClass, which gets called
- to increase the use count of @plugin.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="plugin" transfer-ownership="none">
- <doc xml:space="preserve">the #GTypePlugin whose use count should be increased</doc>
- <type name="TypePlugin" c:type="GTypePlugin*"/>
- </parameter>
- </parameters>
- </callback>
- <record name="TypeQuery" c:type="GTypeQuery">
- <doc xml:space="preserve">A structure holding information for a specific type.
- It is filled in by the g_type_query() function.</doc>
- <field name="type" writable="1">
- <doc xml:space="preserve">the #GType value of the type</doc>
- <type name="GType" c:type="GType"/>
- </field>
- <field name="type_name" writable="1">
- <doc xml:space="preserve">the name of the type</doc>
- <type name="utf8" c:type="const gchar*"/>
- </field>
- <field name="class_size" writable="1">
- <doc xml:space="preserve">the size of the class structure</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="instance_size" writable="1">
- <doc xml:space="preserve">the size of the instance structure</doc>
- <type name="guint" c:type="guint"/>
- </field>
- </record>
- <record name="TypeValueTable" c:type="GTypeValueTable">
- <doc xml:space="preserve">The #GTypeValueTable provides the functions required by the #GValue
- implementation, to serve as a container for values of a type.</doc>
- <field name="value_init">
- <callback name="value_init">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="value_free">
- <callback name="value_free">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="value_copy">
- <callback name="value_copy">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src_value" transfer-ownership="none">
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="dest_value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="value_peek_pointer">
- <callback name="value_peek_pointer">
- <return-value transfer-ownership="none">
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="collect_format" writable="1">
- <doc xml:space="preserve">A string format describing how to collect the contents of
- this value bit-by-bit. Each character in the format represents
- an argument to be collected, and the characters themselves indicate
- the type of the argument. Currently supported arguments are:
- - 'i' - Integers. passed as collect_values[].v_int.
- - 'l' - Longs. passed as collect_values[].v_long.
- - 'd' - Doubles. passed as collect_values[].v_double.
- - 'p' - Pointers. passed as collect_values[].v_pointer.
- It should be noted that for variable argument list construction,
- ANSI C promotes every type smaller than an integer to an int, and
- floats to doubles. So for collection of short int or char, 'i'
- needs to be used, and for collection of floats 'd'.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </field>
- <field name="collect_value">
- <callback name="collect_value">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_collect_values" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="collect_values" transfer-ownership="none">
- <type name="TypeCValue" c:type="GTypeCValue*"/>
- </parameter>
- <parameter name="collect_flags" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="lcopy_format" writable="1">
- <doc xml:space="preserve">Format description of the arguments to collect for @lcopy_value,
- analogous to @collect_format. Usually, @lcopy_format string consists
- only of 'p's to provide lcopy_value() with pointers to storage locations.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </field>
- <field name="lcopy_value">
- <callback name="lcopy_value">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="n_collect_values" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="collect_values" transfer-ownership="none">
- <type name="TypeCValue" c:type="GTypeCValue*"/>
- </parameter>
- <parameter name="collect_flags" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <function name="peek"
- c:identifier="g_type_value_table_peek"
- introspectable="0">
- <doc xml:space="preserve">Returns the location of the #GTypeValueTable associated with @type.
- Note that this function should only be used from source code
- that implements or has internal knowledge of the implementation of
- @type.</doc>
- <return-value>
- <doc xml:space="preserve">location of the #GTypeValueTable associated with @type or
- %NULL if there is no #GTypeValueTable associated with @type</doc>
- <type name="TypeValueTable" c:type="GTypeValueTable*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <constant name="VALUE_COLLECT_FORMAT_MAX_LENGTH"
- value="8"
- c:type="G_VALUE_COLLECT_FORMAT_MAX_LENGTH">
- <doc xml:space="preserve">The maximal number of #GTypeCValues which can be collected for a
- single #GValue.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="VALUE_NOCOPY_CONTENTS"
- value="134217728"
- c:type="G_VALUE_NOCOPY_CONTENTS">
- <doc xml:space="preserve">If passed to G_VALUE_COLLECT(), allocated data won't be copied
- but used verbatim. This does not affect ref-counted types like
- objects.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <callback name="VaClosureMarshal"
- c:type="GVaClosureMarshal"
- introspectable="0">
- <doc xml:space="preserve">This is the signature of va_list marshaller functions, an optional
- marshaller that can be used in some situations to avoid
- marshalling the signal argument into GValues.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the #GClosure to which the marshaller belongs</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GValue to store the return
- value. May be %NULL if the callback of @closure doesn't return a
- value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance on which the closure is
- invoked.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional data specified when
- registering the marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of the @param_types array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of each argument from
- @args.</doc>
- <array length="5" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </callback>
- <record name="Value"
- c:type="GValue"
- glib:type-name="GValue"
- glib:get-type="g_value_get_type"
- c:symbol-prefix="value">
- <doc xml:space="preserve">An opaque structure used to hold different types of values.
- The data within the structure has protected scope: it is accessible only
- to functions within a #GTypeValueTable structure, or implementations of
- the g_value_*() API. That is, code portions which implement new fundamental
- types.
- #GValue users cannot make any assumptions about how data is stored
- within the 2 element @data union, and the @g_type member should
- only be accessed through the G_VALUE_TYPE() macro.</doc>
- <field name="g_type" readable="0" private="1">
- <type name="GType" c:type="GType"/>
- </field>
- <field name="data" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="2">
- <type name="_Value__data__union"/>
- </array>
- </field>
- <method name="copy" c:identifier="g_value_copy">
- <doc xml:space="preserve">Copies the value of @src_value into @dest_value.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="src_value" transfer-ownership="none">
- <doc xml:space="preserve">An initialized #GValue structure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- <parameter name="dest_value" transfer-ownership="none">
- <doc xml:space="preserve">An initialized #GValue structure of the same type as @src_value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="dup_boxed"
- c:identifier="g_value_dup_boxed"
- introspectable="0">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_BOXED derived #GValue. Upon getting,
- the boxed value is duplicated and needs to be later freed with
- g_boxed_free(), e.g. like: g_boxed_free (G_VALUE_TYPE (@value),
- return_value);</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">boxed contents of @value</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of %G_TYPE_BOXED derived type</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="dup_object" c:identifier="g_value_dup_object">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_OBJECT derived #GValue, increasing
- its reference count. If the contents of the #GValue are %NULL, then
- %NULL will be returned.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">object content of @value,
- should be unreferenced when no longer needed.</doc>
- <type name="Object" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue whose type is derived from %G_TYPE_OBJECT</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="dup_param"
- c:identifier="g_value_dup_param"
- introspectable="0">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_PARAM #GValue, increasing its
- reference count.</doc>
- <return-value>
- <doc xml:space="preserve">#GParamSpec content of @value, should be unreferenced when
- no longer needed.</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue whose type is derived from %G_TYPE_PARAM</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="dup_string" c:identifier="g_value_dup_string">
- <doc xml:space="preserve">Get a copy the contents of a %G_TYPE_STRING #GValue.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly allocated copy of the string content of @value</doc>
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_STRING</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="dup_variant"
- c:identifier="g_value_dup_variant"
- version="2.26">
- <doc xml:space="preserve">Get the contents of a variant #GValue, increasing its refcount.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">variant contents of @value, should be unrefed using
- g_variant_unref() when no longer needed</doc>
- <type name="GLib.Variant" c:type="GVariant*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_VARIANT</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="fits_pointer" c:identifier="g_value_fits_pointer">
- <doc xml:space="preserve">Determines if @value will fit inside the size of a pointer value.
- This is an internal function introduced mainly for C marshallers.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @value will fit inside a pointer value.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">An initialized #GValue structure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_boolean" c:identifier="g_value_get_boolean">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_BOOLEAN #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">boolean contents of @value</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_BOOLEAN</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_boxed" c:identifier="g_value_get_boxed">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_BOXED derived #GValue.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">boxed contents of @value</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of %G_TYPE_BOXED derived type</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_char"
- c:identifier="g_value_get_char"
- deprecated="1"
- deprecated-version="2.32">
- <doc xml:space="preserve">Do not use this function; it is broken on platforms where the %char
- type is unsigned, such as ARM and PowerPC. See g_value_get_schar().
- Get the contents of a %G_TYPE_CHAR #GValue.</doc>
- <doc-deprecated xml:space="preserve">This function's return type is broken, see g_value_get_schar()</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">character contents of @value</doc>
- <type name="gchar" c:type="gchar"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_CHAR</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_double" c:identifier="g_value_get_double">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_DOUBLE #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">double contents of @value</doc>
- <type name="gdouble" c:type="gdouble"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_DOUBLE</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_enum" c:identifier="g_value_get_enum">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_ENUM #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">enum contents of @value</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue whose type is derived from %G_TYPE_ENUM</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_flags" c:identifier="g_value_get_flags">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_FLAGS #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">flags contents of @value</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue whose type is derived from %G_TYPE_FLAGS</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_float" c:identifier="g_value_get_float">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_FLOAT #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">float contents of @value</doc>
- <type name="gfloat" c:type="gfloat"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_FLOAT</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_gtype" c:identifier="g_value_get_gtype" version="2.12">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_GTYPE #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GType stored in @value</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_GTYPE</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_int" c:identifier="g_value_get_int">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_INT #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">integer contents of @value</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_INT</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_int64" c:identifier="g_value_get_int64">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_INT64 #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">64bit integer contents of @value</doc>
- <type name="gint64" c:type="gint64"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_INT64</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_long" c:identifier="g_value_get_long">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_LONG #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">long integer contents of @value</doc>
- <type name="glong" c:type="glong"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_LONG</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_object" c:identifier="g_value_get_object">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_OBJECT derived #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">object contents of @value</doc>
- <type name="Object" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of %G_TYPE_OBJECT derived type</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_param" c:identifier="g_value_get_param">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_PARAM #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">#GParamSpec content of @value</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue whose type is derived from %G_TYPE_PARAM</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_pointer" c:identifier="g_value_get_pointer">
- <doc xml:space="preserve">Get the contents of a pointer #GValue.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">pointer contents of @value</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of %G_TYPE_POINTER</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_schar" c:identifier="g_value_get_schar" version="2.32">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_CHAR #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">signed 8 bit integer contents of @value</doc>
- <type name="gint8" c:type="gint8"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_CHAR</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_string" c:identifier="g_value_get_string">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_STRING #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">string content of @value</doc>
- <type name="utf8" c:type="const gchar*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_STRING</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_uchar" c:identifier="g_value_get_uchar">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_UCHAR #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">unsigned character contents of @value</doc>
- <type name="guint8" c:type="guchar"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_UCHAR</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_uint" c:identifier="g_value_get_uint">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_UINT #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">unsigned integer contents of @value</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_UINT</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_uint64" c:identifier="g_value_get_uint64">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_UINT64 #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">unsigned 64bit integer contents of @value</doc>
- <type name="guint64" c:type="guint64"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_UINT64</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_ulong" c:identifier="g_value_get_ulong">
- <doc xml:space="preserve">Get the contents of a %G_TYPE_ULONG #GValue.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">unsigned long integer contents of @value</doc>
- <type name="gulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_ULONG</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_variant"
- c:identifier="g_value_get_variant"
- version="2.26">
- <doc xml:space="preserve">Get the contents of a variant #GValue.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">variant contents of @value</doc>
- <type name="GLib.Variant" c:type="GVariant*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_VARIANT</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="init" c:identifier="g_value_init">
- <doc xml:space="preserve">Initializes @value with the default value of @type.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GValue structure that has been passed in</doc>
- <type name="Value" c:type="GValue*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">A zero-filled (uninitialized) #GValue structure.</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="g_type" transfer-ownership="none">
- <doc xml:space="preserve">Type the #GValue should hold values of.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="init_from_instance"
- c:identifier="g_value_init_from_instance"
- version="2.42">
- <doc xml:space="preserve">Initializes and sets @value from an instantiatable type via the
- value_table's collect_value() function.
- Note: The @value will be initialised with the exact type of
- @instance. If you wish to set the @value's type to a different GType
- (such as a parent class GType), you need to manually call
- g_value_init() and g_value_set_instance().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">An uninitialized #GValue structure.</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_pointer" c:identifier="g_value_peek_pointer">
- <doc xml:space="preserve">Returns the value contents as pointer. This function asserts that
- g_value_fits_pointer() returned %TRUE for the passed in value.
- This is an internal function introduced mainly for C marshallers.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the value contents as pointer</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">An initialized #GValue structure</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="reset" c:identifier="g_value_reset">
- <doc xml:space="preserve">Clears the current value in @value and resets it to the default value
- (as if the value had just been initialized).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the #GValue structure that has been passed in</doc>
- <type name="Value" c:type="GValue*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">An initialized #GValue structure.</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="set_boolean" c:identifier="g_value_set_boolean">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_BOOLEAN #GValue to @v_boolean.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_BOOLEAN</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_boolean" transfer-ownership="none">
- <doc xml:space="preserve">boolean value to be set</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_boxed" c:identifier="g_value_set_boxed">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of %G_TYPE_BOXED derived type</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_boxed"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">boxed value to be set</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_boxed_take_ownership"
- c:identifier="g_value_set_boxed_take_ownership"
- deprecated="1"
- deprecated-version="2.4">
- <doc xml:space="preserve">This is an internal function introduced mainly for C marshallers.</doc>
- <doc-deprecated xml:space="preserve">Use g_value_take_boxed() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of %G_TYPE_BOXED derived type</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_boxed"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">duplicated unowned boxed value to be set</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_char"
- c:identifier="g_value_set_char"
- deprecated="1"
- deprecated-version="2.32">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_CHAR #GValue to @v_char.</doc>
- <doc-deprecated xml:space="preserve">This function's input type is broken, see g_value_set_schar()</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_CHAR</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_char" transfer-ownership="none">
- <doc xml:space="preserve">character value to be set</doc>
- <type name="gchar" c:type="gchar"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_double" c:identifier="g_value_set_double">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_DOUBLE #GValue to @v_double.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_DOUBLE</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_double" transfer-ownership="none">
- <doc xml:space="preserve">double value to be set</doc>
- <type name="gdouble" c:type="gdouble"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_enum" c:identifier="g_value_set_enum">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_ENUM #GValue to @v_enum.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue whose type is derived from %G_TYPE_ENUM</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_enum" transfer-ownership="none">
- <doc xml:space="preserve">enum value to be set</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_flags" c:identifier="g_value_set_flags">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_FLAGS #GValue to @v_flags.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue whose type is derived from %G_TYPE_FLAGS</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_flags" transfer-ownership="none">
- <doc xml:space="preserve">flags value to be set</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_float" c:identifier="g_value_set_float">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_FLOAT #GValue to @v_float.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_FLOAT</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_float" transfer-ownership="none">
- <doc xml:space="preserve">float value to be set</doc>
- <type name="gfloat" c:type="gfloat"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_gtype" c:identifier="g_value_set_gtype" version="2.12">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_GTYPE #GValue to @v_gtype.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_GTYPE</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_gtype" transfer-ownership="none">
- <doc xml:space="preserve">#GType to be set</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_instance" c:identifier="g_value_set_instance">
- <doc xml:space="preserve">Sets @value from an instantiatable type via the
- value_table's collect_value() function.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">An initialized #GValue structure.</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="instance"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the instance</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_int" c:identifier="g_value_set_int">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_INT #GValue to @v_int.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_INT</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_int" transfer-ownership="none">
- <doc xml:space="preserve">integer value to be set</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_int64" c:identifier="g_value_set_int64">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_INT64 #GValue to @v_int64.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_INT64</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_int64" transfer-ownership="none">
- <doc xml:space="preserve">64bit integer value to be set</doc>
- <type name="gint64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_long" c:identifier="g_value_set_long">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_LONG #GValue to @v_long.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_LONG</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_long" transfer-ownership="none">
- <doc xml:space="preserve">long integer value to be set</doc>
- <type name="glong" c:type="glong"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_object" c:identifier="g_value_set_object">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_OBJECT derived #GValue to @v_object.
- g_value_set_object() increases the reference count of @v_object
- (the #GValue holds a reference to @v_object). If you do not wish
- to increase the reference count of the object (i.e. you wish to
- pass your current reference to the #GValue because you no longer
- need it), use g_value_take_object() instead.
- It is important that your #GValue holds a reference to @v_object (either its
- own, or one it has taken) to ensure that the object won't be destroyed while
- the #GValue still exists).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of %G_TYPE_OBJECT derived type</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_object"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">object value to be set</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_object_take_ownership"
- c:identifier="g_value_set_object_take_ownership"
- introspectable="0"
- deprecated="1"
- deprecated-version="2.4">
- <doc xml:space="preserve">This is an internal function introduced mainly for C marshallers.</doc>
- <doc-deprecated xml:space="preserve">Use g_value_take_object() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of %G_TYPE_OBJECT derived type</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_object"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">object value to be set</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_param" c:identifier="g_value_set_param">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_PARAM #GValue to @param.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_PARAM</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="param"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the #GParamSpec to be set</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_param_take_ownership"
- c:identifier="g_value_set_param_take_ownership"
- introspectable="0"
- deprecated="1"
- deprecated-version="2.4">
- <doc xml:space="preserve">This is an internal function introduced mainly for C marshallers.</doc>
- <doc-deprecated xml:space="preserve">Use g_value_take_param() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_PARAM</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="param"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the #GParamSpec to be set</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_pointer" c:identifier="g_value_set_pointer">
- <doc xml:space="preserve">Set the contents of a pointer #GValue to @v_pointer.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of %G_TYPE_POINTER</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_pointer"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">pointer value to be set</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_schar" c:identifier="g_value_set_schar" version="2.32">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_CHAR #GValue to @v_char.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_CHAR</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_char" transfer-ownership="none">
- <doc xml:space="preserve">signed 8 bit integer to be set</doc>
- <type name="gint8" c:type="gint8"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_static_boxed" c:identifier="g_value_set_static_boxed">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed.
- The boxed value is assumed to be static, and is thus not duplicated
- when setting the #GValue.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of %G_TYPE_BOXED derived type</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_boxed"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">static boxed value to be set</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_static_string"
- c:identifier="g_value_set_static_string">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_STRING #GValue to @v_string.
- The string is assumed to be static, and is thus not duplicated
- when setting the #GValue.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_STRING</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_string"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">static string to be set</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_string" c:identifier="g_value_set_string">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_STRING #GValue to @v_string.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_STRING</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_string"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">caller-owned string to be duplicated for the #GValue</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_string_take_ownership"
- c:identifier="g_value_set_string_take_ownership"
- deprecated="1"
- deprecated-version="2.4">
- <doc xml:space="preserve">This is an internal function introduced mainly for C marshallers.</doc>
- <doc-deprecated xml:space="preserve">Use g_value_take_string() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_STRING</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_string"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">duplicated unowned string to be set</doc>
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_uchar" c:identifier="g_value_set_uchar">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_UCHAR #GValue to @v_uchar.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_UCHAR</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_uchar" transfer-ownership="none">
- <doc xml:space="preserve">unsigned character value to be set</doc>
- <type name="guint8" c:type="guchar"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_uint" c:identifier="g_value_set_uint">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_UINT #GValue to @v_uint.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_UINT</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_uint" transfer-ownership="none">
- <doc xml:space="preserve">unsigned integer value to be set</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_uint64" c:identifier="g_value_set_uint64">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_UINT64 #GValue to @v_uint64.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_UINT64</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_uint64" transfer-ownership="none">
- <doc xml:space="preserve">unsigned 64bit integer value to be set</doc>
- <type name="guint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_ulong" c:identifier="g_value_set_ulong">
- <doc xml:space="preserve">Set the contents of a %G_TYPE_ULONG #GValue to @v_ulong.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_ULONG</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_ulong" transfer-ownership="none">
- <doc xml:space="preserve">unsigned long integer value to be set</doc>
- <type name="gulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_variant"
- c:identifier="g_value_set_variant"
- version="2.26">
- <doc xml:space="preserve">Set the contents of a variant #GValue to @variant.
- If the variant is floating, it is consumed.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_VARIANT</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="variant"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GVariant, or %NULL</doc>
- <type name="GLib.Variant" c:type="GVariant*"/>
- </parameter>
- </parameters>
- </method>
- <method name="take_boxed"
- c:identifier="g_value_take_boxed"
- version="2.4">
- <doc xml:space="preserve">Sets the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed
- and takes over the ownership of the callers reference to @v_boxed;
- the caller doesn't have to unref it any more.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of %G_TYPE_BOXED derived type</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_boxed"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">duplicated unowned boxed value to be set</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="take_object"
- c:identifier="g_value_take_object"
- version="2.4"
- introspectable="0">
- <doc xml:space="preserve">Sets the contents of a %G_TYPE_OBJECT derived #GValue to @v_object
- and takes over the ownership of the callers reference to @v_object;
- the caller doesn't have to unref it any more (i.e. the reference
- count of the object is not increased).
- If you want the #GValue to hold its own reference to @v_object, use
- g_value_set_object() instead.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of %G_TYPE_OBJECT derived type</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_object"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">object value to be set</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="take_param"
- c:identifier="g_value_take_param"
- version="2.4"
- introspectable="0">
- <doc xml:space="preserve">Sets the contents of a %G_TYPE_PARAM #GValue to @param and takes
- over the ownership of the callers reference to @param; the caller
- doesn't have to unref it any more.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_PARAM</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="param"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the #GParamSpec to be set</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </method>
- <method name="take_string"
- c:identifier="g_value_take_string"
- version="2.4">
- <doc xml:space="preserve">Sets the contents of a %G_TYPE_STRING #GValue to @v_string.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_STRING</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="v_string"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">string to take ownership of</doc>
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="take_variant"
- c:identifier="g_value_take_variant"
- version="2.26">
- <doc xml:space="preserve">Set the contents of a variant #GValue to @variant, and takes over
- the ownership of the caller's reference to @variant;
- the caller doesn't have to unref it any more (i.e. the reference
- count of the variant is not increased).
- If @variant was floating then its floating reference is converted to
- a hard reference.
- If you want the #GValue to hold its own reference to @variant, use
- g_value_set_variant() instead.
- This is an internal function introduced mainly for C marshallers.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GValue of type %G_TYPE_VARIANT</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- <parameter name="variant"
- transfer-ownership="full"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GVariant, or %NULL</doc>
- <type name="GLib.Variant" c:type="GVariant*"/>
- </parameter>
- </parameters>
- </method>
- <method name="transform" c:identifier="g_value_transform">
- <doc xml:space="preserve">Tries to cast the contents of @src_value into a type appropriate
- to store in @dest_value, e.g. to transform a %G_TYPE_INT value
- into a %G_TYPE_FLOAT value. Performing transformations between
- value types might incur precision lossage. Especially
- transformations into strings might reveal seemingly arbitrary
- results and shouldn't be relied upon for production code (such
- as rcfile value or object property serialization).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">Whether a transformation rule was found and could be applied.
- Upon failing transformations, @dest_value is left untouched.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="src_value" transfer-ownership="none">
- <doc xml:space="preserve">Source value.</doc>
- <type name="Value" c:type="const GValue*"/>
- </instance-parameter>
- <parameter name="dest_value" transfer-ownership="none">
- <doc xml:space="preserve">Target value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="unset" c:identifier="g_value_unset">
- <doc xml:space="preserve">Clears the current value in @value (if any) and "unsets" the type,
- this releases all resources associated with this GValue. An unset
- value is the same as an uninitialized (zero-filled) #GValue
- structure.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">An initialized #GValue structure.</doc>
- <type name="Value" c:type="GValue*"/>
- </instance-parameter>
- </parameters>
- </method>
- <function name="register_transform_func"
- c:identifier="g_value_register_transform_func"
- introspectable="0">
- <doc xml:space="preserve">Registers a value transformation function for use in g_value_transform().
- A previously registered transformation function for @src_type and @dest_type
- will be replaced.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src_type" transfer-ownership="none">
- <doc xml:space="preserve">Source type.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="dest_type" transfer-ownership="none">
- <doc xml:space="preserve">Target type.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="transform_func" transfer-ownership="none">
- <doc xml:space="preserve">a function which transforms values of type @src_type
- into value of type @dest_type</doc>
- <type name="ValueTransform" c:type="GValueTransform"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_compatible" c:identifier="g_value_type_compatible">
- <doc xml:space="preserve">Returns whether a #GValue of type @src_type can be copied into
- a #GValue of type @dest_type.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if g_value_copy() is possible with @src_type and @dest_type.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src_type" transfer-ownership="none">
- <doc xml:space="preserve">source type to be copied.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="dest_type" transfer-ownership="none">
- <doc xml:space="preserve">destination type for copying.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_transformable"
- c:identifier="g_value_type_transformable">
- <doc xml:space="preserve">Check whether g_value_transform() is able to transform values
- of type @src_type into values of type @dest_type. Note that for
- the types to be transformable, they must be compatible and a
- transform function must be registered.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the transformation is possible, %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src_type" transfer-ownership="none">
- <doc xml:space="preserve">Source type.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="dest_type" transfer-ownership="none">
- <doc xml:space="preserve">Target type.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <record name="ValueArray"
- c:type="GValueArray"
- glib:type-name="GValueArray"
- glib:get-type="g_value_array_get_type"
- c:symbol-prefix="value_array">
- <doc xml:space="preserve">A #GValueArray contains an array of #GValue elements.</doc>
- <field name="n_values" writable="1">
- <doc xml:space="preserve">number of values contained in the array</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="values" writable="1">
- <doc xml:space="preserve">array of values</doc>
- <type name="Value" c:type="GValue*"/>
- </field>
- <field name="n_prealloced" readable="0" private="1">
- <type name="guint" c:type="guint"/>
- </field>
- <constructor name="new"
- c:identifier="g_value_array_new"
- deprecated="1"
- deprecated-version="2.32">
- <doc xml:space="preserve">Allocate and initialize a new #GValueArray, optionally preserve space
- for @n_prealloced elements. New arrays always contain 0 elements,
- regardless of the value of @n_prealloced.</doc>
- <doc-deprecated xml:space="preserve">Use #GArray and g_array_sized_new() instead.</doc-deprecated>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly allocated #GValueArray with 0 values</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <parameter name="n_prealloced" transfer-ownership="none">
- <doc xml:space="preserve">number of values to preallocate space for</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="append"
- c:identifier="g_value_array_append"
- deprecated="1"
- deprecated-version="2.32">
- <doc xml:space="preserve">Insert a copy of @value as last element of @value_array. If @value is
- %NULL, an uninitialized value is appended.</doc>
- <doc-deprecated xml:space="preserve">Use #GArray and g_array_append_val() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GValueArray passed in as @value_array</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value_array" transfer-ownership="none">
- <doc xml:space="preserve">#GValueArray to add an element to</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </instance-parameter>
- <parameter name="value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">#GValue to copy into #GValueArray, or %NULL</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="copy"
- c:identifier="g_value_array_copy"
- deprecated="1"
- deprecated-version="2.32">
- <doc xml:space="preserve">Construct an exact copy of a #GValueArray by duplicating all its
- contents.</doc>
- <doc-deprecated xml:space="preserve">Use #GArray and g_array_ref() instead.</doc-deprecated>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">Newly allocated copy of #GValueArray</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value_array" transfer-ownership="none">
- <doc xml:space="preserve">#GValueArray to copy</doc>
- <type name="ValueArray" c:type="const GValueArray*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="free"
- c:identifier="g_value_array_free"
- deprecated="1"
- deprecated-version="2.32">
- <doc xml:space="preserve">Free a #GValueArray including its contents.</doc>
- <doc-deprecated xml:space="preserve">Use #GArray and g_array_unref() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="value_array" transfer-ownership="none">
- <doc xml:space="preserve">#GValueArray to free</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_nth"
- c:identifier="g_value_array_get_nth"
- deprecated="1"
- deprecated-version="2.32">
- <doc xml:space="preserve">Return a pointer to the value at @index_ containd in @value_array.</doc>
- <doc-deprecated xml:space="preserve">Use g_array_index() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">pointer to a value at @index_ in @value_array</doc>
- <type name="Value" c:type="GValue*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value_array" transfer-ownership="none">
- <doc xml:space="preserve">#GValueArray to get a value from</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </instance-parameter>
- <parameter name="index_" transfer-ownership="none">
- <doc xml:space="preserve">index of the value of interest</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="insert"
- c:identifier="g_value_array_insert"
- deprecated="1"
- deprecated-version="2.32">
- <doc xml:space="preserve">Insert a copy of @value at specified position into @value_array. If @value
- is %NULL, an uninitialized value is inserted.</doc>
- <doc-deprecated xml:space="preserve">Use #GArray and g_array_insert_val() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GValueArray passed in as @value_array</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value_array" transfer-ownership="none">
- <doc xml:space="preserve">#GValueArray to add an element to</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </instance-parameter>
- <parameter name="index_" transfer-ownership="none">
- <doc xml:space="preserve">insertion position, must be <= value_array-&gt;n_values</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">#GValue to copy into #GValueArray, or %NULL</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="prepend"
- c:identifier="g_value_array_prepend"
- deprecated="1"
- deprecated-version="2.32">
- <doc xml:space="preserve">Insert a copy of @value as first element of @value_array. If @value is
- %NULL, an uninitialized value is prepended.</doc>
- <doc-deprecated xml:space="preserve">Use #GArray and g_array_prepend_val() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GValueArray passed in as @value_array</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value_array" transfer-ownership="none">
- <doc xml:space="preserve">#GValueArray to add an element to</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </instance-parameter>
- <parameter name="value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">#GValue to copy into #GValueArray, or %NULL</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove"
- c:identifier="g_value_array_remove"
- deprecated="1"
- deprecated-version="2.32">
- <doc xml:space="preserve">Remove the value at position @index_ from @value_array.</doc>
- <doc-deprecated xml:space="preserve">Use #GArray and g_array_remove_index() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GValueArray passed in as @value_array</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value_array" transfer-ownership="none">
- <doc xml:space="preserve">#GValueArray to remove an element from</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </instance-parameter>
- <parameter name="index_" transfer-ownership="none">
- <doc xml:space="preserve">position of value to remove, which must be less than
- @value_array->n_values</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="sort"
- c:identifier="g_value_array_sort"
- shadowed-by="sort_with_data"
- deprecated="1"
- deprecated-version="2.32">
- <doc xml:space="preserve">Sort @value_array using @compare_func to compare the elements according to
- the semantics of #GCompareFunc.
- The current implementation uses the same sorting algorithm as standard
- C qsort() function.</doc>
- <doc-deprecated xml:space="preserve">Use #GArray and g_array_sort().</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GValueArray passed in as @value_array</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value_array" transfer-ownership="none">
- <doc xml:space="preserve">#GValueArray to sort</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </instance-parameter>
- <parameter name="compare_func"
- transfer-ownership="none"
- scope="call">
- <doc xml:space="preserve">function to compare elements</doc>
- <type name="GLib.CompareFunc" c:type="GCompareFunc"/>
- </parameter>
- </parameters>
- </method>
- <method name="sort_with_data"
- c:identifier="g_value_array_sort_with_data"
- shadows="sort"
- deprecated="1"
- deprecated-version="2.32">
- <doc xml:space="preserve">Sort @value_array using @compare_func to compare the elements according
- to the semantics of #GCompareDataFunc.
- The current implementation uses the same sorting algorithm as standard
- C qsort() function.</doc>
- <doc-deprecated xml:space="preserve">Use #GArray and g_array_sort_with_data().</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GValueArray passed in as @value_array</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <instance-parameter name="value_array" transfer-ownership="none">
- <doc xml:space="preserve">#GValueArray to sort</doc>
- <type name="ValueArray" c:type="GValueArray*"/>
- </instance-parameter>
- <parameter name="compare_func"
- transfer-ownership="none"
- scope="call"
- closure="1">
- <doc xml:space="preserve">function to compare elements</doc>
- <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">extra data argument provided for @compare_func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <callback name="ValueTransform" c:type="GValueTransform">
- <doc xml:space="preserve">The type of value transformation functions which can be registered with
- g_value_register_transform_func().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src_value" transfer-ownership="none">
- <doc xml:space="preserve">Source value.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="dest_value" transfer-ownership="none">
- <doc xml:space="preserve">Target value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="WeakNotify" c:type="GWeakNotify">
- <doc xml:space="preserve">A #GWeakNotify function can be added to an object as a callback that gets
- triggered when the object is finalized. Since the object is already being
- finalized when the #GWeakNotify is called, there's not much you could do
- with the object, apart from e.g. using its address as hash-index or the like.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data that was provided when the weak reference was established</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="where_the_object_was" transfer-ownership="none">
- <doc xml:space="preserve">the object being finalized</doc>
- <type name="Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </callback>
- <record name="WeakRef" c:type="GWeakRef">
- <doc xml:space="preserve">A structure containing a weak reference to a #GObject. It can either
- be empty (i.e. point to %NULL), or point to an object for as long as
- at least one "strong" reference to that object exists. Before the
- object's #GObjectClass.dispose method is called, every #GWeakRef
- associated with becomes empty (i.e. points to %NULL).
- Like #GValue, #GWeakRef can be statically allocated, stack- or
- heap-allocated, or embedded in larger structures.
- Unlike g_object_weak_ref() and g_object_add_weak_pointer(), this weak
- reference is thread-safe: converting a weak pointer to a reference is
- atomic with respect to invalidation of weak pointers to destroyed
- objects.
- If the object's #GObjectClass.dispose method results in additional
- references to the object being held, any #GWeakRefs taken
- before it was disposed will continue to point to %NULL. If
- #GWeakRefs are taken after the object is disposed and
- re-referenced, they will continue to point to it until its refcount
- goes back to zero, at which point they too will be invalidated.</doc>
- <union name="priv" c:type="priv">
- <field name="p" writable="1">
- <type name="gpointer" c:type="gpointer"/>
- </field>
- </union>
- <method name="clear"
- c:identifier="g_weak_ref_clear"
- version="2.32"
- introspectable="0">
- <doc xml:space="preserve">Frees resources associated with a non-statically-allocated #GWeakRef.
- After this call, the #GWeakRef is left in an undefined state.
- You should only call this on a #GWeakRef that previously had
- g_weak_ref_init() called on it.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="weak_ref"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location of a weak reference, which
- may be empty</doc>
- <type name="WeakRef" c:type="GWeakRef*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get"
- c:identifier="g_weak_ref_get"
- version="2.32"
- introspectable="0">
- <doc xml:space="preserve">If @weak_ref is not empty, atomically acquire a strong
- reference to the object it points to, and return that reference.
- This function is needed because of the potential race between taking
- the pointer value and g_object_ref() on it, if the object was losing
- its last reference at the same time in a different thread.
- The caller should release the resulting reference in the usual way,
- by using g_object_unref().</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the object pointed to
- by @weak_ref, or %NULL if it was empty</doc>
- <type name="Object" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="weak_ref"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location of a weak reference to a #GObject</doc>
- <type name="WeakRef" c:type="GWeakRef*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="init"
- c:identifier="g_weak_ref_init"
- version="2.32"
- introspectable="0">
- <doc xml:space="preserve">Initialise a non-statically-allocated #GWeakRef.
- This function also calls g_weak_ref_set() with @object on the
- freshly-initialised weak reference.
- This function should always be matched with a call to
- g_weak_ref_clear(). It is not necessary to use this function for a
- #GWeakRef in static storage because it will already be
- properly initialised. Just use g_weak_ref_set() directly.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="weak_ref"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">uninitialized or empty location for a weak
- reference</doc>
- <type name="WeakRef" c:type="GWeakRef*"/>
- </instance-parameter>
- <parameter name="object"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GObject or %NULL</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="set"
- c:identifier="g_weak_ref_set"
- version="2.32"
- introspectable="0">
- <doc xml:space="preserve">Change the object to which @weak_ref points, or set it to
- %NULL.
- You must own a strong reference on @object while calling this
- function.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="weak_ref" transfer-ownership="none">
- <doc xml:space="preserve">location for a weak reference</doc>
- <type name="WeakRef" c:type="GWeakRef*"/>
- </instance-parameter>
- <parameter name="object"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GObject or %NULL</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <union name="_Value__data__union">
- <field name="v_int" writable="1">
- <type name="gint" c:type="gint"/>
- </field>
- <field name="v_uint" writable="1">
- <type name="guint" c:type="guint"/>
- </field>
- <field name="v_long" writable="1">
- <type name="glong" c:type="glong"/>
- </field>
- <field name="v_ulong" writable="1">
- <type name="gulong" c:type="gulong"/>
- </field>
- <field name="v_int64" writable="1">
- <type name="gint64" c:type="gint64"/>
- </field>
- <field name="v_uint64" writable="1">
- <type name="guint64" c:type="guint64"/>
- </field>
- <field name="v_float" writable="1">
- <type name="gfloat" c:type="gfloat"/>
- </field>
- <field name="v_double" writable="1">
- <type name="gdouble" c:type="gdouble"/>
- </field>
- <field name="v_pointer" writable="1">
- <type name="gpointer" c:type="gpointer"/>
- </field>
- </union>
- <function name="boxed_copy" c:identifier="g_boxed_copy">
- <doc xml:space="preserve">Provide a copy of a boxed structure @src_boxed which is of type @boxed_type.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">The newly created copy of the boxed
- structure.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="boxed_type" transfer-ownership="none">
- <doc xml:space="preserve">The type of @src_boxed.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="src_boxed" transfer-ownership="none">
- <doc xml:space="preserve">The boxed structure to be copied.</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="boxed_free" c:identifier="g_boxed_free">
- <doc xml:space="preserve">Free the boxed structure @boxed which is of type @boxed_type.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="boxed_type" transfer-ownership="none">
- <doc xml:space="preserve">The type of @boxed.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="boxed" transfer-ownership="none">
- <doc xml:space="preserve">The boxed structure to be freed.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="boxed_type_register_static"
- c:identifier="g_boxed_type_register_static"
- introspectable="0">
- <doc xml:space="preserve">This function creates a new %G_TYPE_BOXED derived type id for a new
- boxed type with name @name. Boxed type handling functions have to be
- provided to copy and free opaque boxed structures of this type.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">New %G_TYPE_BOXED derived type id for @name.</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">Name of the new boxed type.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="boxed_copy" transfer-ownership="none">
- <doc xml:space="preserve">Boxed structure copy function.</doc>
- <type name="BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
- </parameter>
- <parameter name="boxed_free" transfer-ownership="none">
- <doc xml:space="preserve">Boxed structure free function.</doc>
- <type name="BoxedFreeFunc" c:type="GBoxedFreeFunc"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_BOOLEAN__BOXED_BOXED"
- c:identifier="g_cclosure_marshal_BOOLEAN__BOXED_BOXED"
- moved-to="CClosure.marshal_BOOLEAN__BOXED_BOXED">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with handlers that
- take two boxed pointers as arguments and return a boolean. If you
- have such a signal, you will probably also need to use an
- accumulator, such as g_signal_accumulator_true_handled().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_BOOLEAN__FLAGS"
- c:identifier="g_cclosure_marshal_BOOLEAN__FLAGS"
- moved-to="CClosure.marshal_BOOLEAN__FLAGS">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with handlers that
- take a flags type as an argument and return a boolean. If you have
- such a signal, you will probably also need to use an accumulator,
- such as g_signal_accumulator_true_handled().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_STRING__OBJECT_POINTER"
- c:identifier="g_cclosure_marshal_STRING__OBJECT_POINTER"
- moved-to="CClosure.marshal_STRING__OBJECT_POINTER">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with handlers that
- take a #GObject and a pointer and produce a string. It is highly
- unlikely that your signal handler fits this description.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__BOOLEAN"
- c:identifier="g_cclosure_marshal_VOID__BOOLEAN"
- moved-to="CClosure.marshal_VOID__BOOLEAN">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- boolean argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__BOXED"
- c:identifier="g_cclosure_marshal_VOID__BOXED"
- moved-to="CClosure.marshal_VOID__BOXED">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- argument which is any boxed pointer type.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__CHAR"
- c:identifier="g_cclosure_marshal_VOID__CHAR"
- moved-to="CClosure.marshal_VOID__CHAR">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- character argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__DOUBLE"
- c:identifier="g_cclosure_marshal_VOID__DOUBLE"
- moved-to="CClosure.marshal_VOID__DOUBLE">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with one
- double-precision floating point argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__ENUM"
- c:identifier="g_cclosure_marshal_VOID__ENUM"
- moved-to="CClosure.marshal_VOID__ENUM">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- argument with an enumerated type.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__FLAGS"
- c:identifier="g_cclosure_marshal_VOID__FLAGS"
- moved-to="CClosure.marshal_VOID__FLAGS">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- argument with a flags types.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__FLOAT"
- c:identifier="g_cclosure_marshal_VOID__FLOAT"
- moved-to="CClosure.marshal_VOID__FLOAT">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with one
- single-precision floating point argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__INT"
- c:identifier="g_cclosure_marshal_VOID__INT"
- moved-to="CClosure.marshal_VOID__INT">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- integer argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__LONG"
- c:identifier="g_cclosure_marshal_VOID__LONG"
- moved-to="CClosure.marshal_VOID__LONG">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with with a single
- long integer argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__OBJECT"
- c:identifier="g_cclosure_marshal_VOID__OBJECT"
- moved-to="CClosure.marshal_VOID__OBJECT">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- #GObject argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__PARAM"
- c:identifier="g_cclosure_marshal_VOID__PARAM"
- moved-to="CClosure.marshal_VOID__PARAM">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- argument of type #GParamSpec.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__POINTER"
- c:identifier="g_cclosure_marshal_VOID__POINTER"
- moved-to="CClosure.marshal_VOID__POINTER">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single raw
- pointer argument type.
- If it is possible, it is better to use one of the more specific
- functions such as g_cclosure_marshal_VOID__OBJECT() or
- g_cclosure_marshal_VOID__OBJECT().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__STRING"
- c:identifier="g_cclosure_marshal_VOID__STRING"
- moved-to="CClosure.marshal_VOID__STRING">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single string
- argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__UCHAR"
- c:identifier="g_cclosure_marshal_VOID__UCHAR"
- moved-to="CClosure.marshal_VOID__UCHAR">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- unsigned character argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__UINT"
- c:identifier="g_cclosure_marshal_VOID__UINT"
- moved-to="CClosure.marshal_VOID__UINT">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with with a single
- unsigned integer argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__UINT_POINTER"
- c:identifier="g_cclosure_marshal_VOID__UINT_POINTER"
- moved-to="CClosure.marshal_VOID__UINT_POINTER">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a unsigned int
- and a pointer as arguments.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__ULONG"
- c:identifier="g_cclosure_marshal_VOID__ULONG"
- moved-to="CClosure.marshal_VOID__ULONG">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- unsigned long integer argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__VARIANT"
- c:identifier="g_cclosure_marshal_VOID__VARIANT"
- moved-to="CClosure.marshal_VOID__VARIANT">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with a single
- #GVariant argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_VOID__VOID"
- c:identifier="g_cclosure_marshal_VOID__VOID"
- moved-to="CClosure.marshal_VOID__VOID">
- <doc xml:space="preserve">A #GClosureMarshal function for use with signals with no arguments.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_marshal_generic"
- c:identifier="g_cclosure_marshal_generic"
- moved-to="CClosure.marshal_generic"
- version="2.30">
- <doc xml:space="preserve">A generic marshaller function implemented via
- [libffi](http://sourceware.org/libffi/).
- Normally this function is not passed explicitly to g_signal_new(),
- but used automatically by GLib when specifying a %NULL marshaller.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">A #GClosure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="return_gvalue" transfer-ownership="none">
- <doc xml:space="preserve">A #GValue to store the return value. May be %NULL
- if the callback of closure doesn't return a value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="n_param_values" transfer-ownership="none">
- <doc xml:space="preserve">The length of the @param_values array.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GValues holding the arguments
- on which to invoke the callback of closure.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="invocation_hint"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The invocation hint given as the last argument to
- g_closure_invoke().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="marshal_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Additional data specified when registering the
- marshaller, see g_closure_set_marshal() and
- g_closure_set_meta_marshal()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_new"
- c:identifier="g_cclosure_new"
- moved-to="CClosure.new"
- introspectable="0">
- <doc xml:space="preserve">Creates a new closure which invokes @callback_func with @user_data as
- the last parameter.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #GCClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </return-value>
- <parameters>
- <parameter name="callback_func"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="1">
- <doc xml:space="preserve">the function to invoke</doc>
- <type name="Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="0">
- <doc xml:space="preserve">user data to pass to @callback_func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy_data" transfer-ownership="none">
- <doc xml:space="preserve">destroy notify to be called when @user_data is no longer used</doc>
- <type name="ClosureNotify" c:type="GClosureNotify"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_new_object"
- c:identifier="g_cclosure_new_object"
- moved-to="CClosure.new_object"
- introspectable="0">
- <doc xml:space="preserve">A variant of g_cclosure_new() which uses @object as @user_data and
- calls g_object_watch_closure() on @object and the created
- closure. This function is useful when you have a callback closely
- associated with a #GObject, and want the callback to no longer run
- after the object is is freed.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #GCClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </return-value>
- <parameters>
- <parameter name="callback_func" transfer-ownership="none">
- <doc xml:space="preserve">the function to invoke</doc>
- <type name="Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject pointer to pass to @callback_func</doc>
- <type name="Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_new_object_swap"
- c:identifier="g_cclosure_new_object_swap"
- moved-to="CClosure.new_object_swap"
- introspectable="0">
- <doc xml:space="preserve">A variant of g_cclosure_new_swap() which uses @object as @user_data
- and calls g_object_watch_closure() on @object and the created
- closure. This function is useful when you have a callback closely
- associated with a #GObject, and want the callback to no longer run
- after the object is is freed.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #GCClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </return-value>
- <parameters>
- <parameter name="callback_func" transfer-ownership="none">
- <doc xml:space="preserve">the function to invoke</doc>
- <type name="Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GObject pointer to pass to @callback_func</doc>
- <type name="Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </function>
- <function name="cclosure_new_swap"
- c:identifier="g_cclosure_new_swap"
- moved-to="CClosure.new_swap"
- introspectable="0">
- <doc xml:space="preserve">Creates a new closure which invokes @callback_func with @user_data as
- the first parameter.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #GCClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </return-value>
- <parameters>
- <parameter name="callback_func"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="1">
- <doc xml:space="preserve">the function to invoke</doc>
- <type name="Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="0">
- <doc xml:space="preserve">user data to pass to @callback_func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy_data" transfer-ownership="none">
- <doc xml:space="preserve">destroy notify to be called when @user_data is no longer used</doc>
- <type name="ClosureNotify" c:type="GClosureNotify"/>
- </parameter>
- </parameters>
- </function>
- <function name="clear_object"
- c:identifier="g_clear_object"
- version="2.28"
- introspectable="0">
- <doc xml:space="preserve">Clears a reference to a #GObject.
- @object_ptr must not be %NULL.
- If the reference is %NULL then this function does nothing.
- Otherwise, the reference count of the object is decreased and the
- pointer is set to %NULL.
- A macro is also included that allows this function to be used without
- pointer casts.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object_ptr" transfer-ownership="none">
- <doc xml:space="preserve">a pointer to a #GObject reference</doc>
- <type name="Object" c:type="volatile GObject**"/>
- </parameter>
- </parameters>
- </function>
- <function name="enum_complete_type_info"
- c:identifier="g_enum_complete_type_info">
- <doc xml:space="preserve">This function is meant to be called from the `complete_type_info`
- function of a #GTypePlugin implementation, as in the following
- example:
- |[<!-- language="C" -->
- static void
- my_enum_complete_type_info (GTypePlugin *plugin,
- GType g_type,
- GTypeInfo *info,
- GTypeValueTable *value_table)
- {
- static const GEnumValue values[] = {
- { MY_ENUM_FOO, "MY_ENUM_FOO", "foo" },
- { MY_ENUM_BAR, "MY_ENUM_BAR", "bar" },
- { 0, NULL, NULL }
- };
- g_enum_complete_type_info (type, info, values);
- }
- ]|</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="g_enum_type" transfer-ownership="none">
- <doc xml:space="preserve">the type identifier of the type being completed</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="info"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">the #GTypeInfo struct to be filled in</doc>
- <type name="TypeInfo" c:type="GTypeInfo*"/>
- </parameter>
- <parameter name="const_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GEnumValue structs for the possible
- enumeration values. The array is terminated by a struct with all
- members being 0.</doc>
- <type name="EnumValue" c:type="const GEnumValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="enum_get_value" c:identifier="g_enum_get_value">
- <doc xml:space="preserve">Returns the #GEnumValue for a value.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GEnumValue for @value, or %NULL
- if @value is not a member of the enumeration</doc>
- <type name="EnumValue" c:type="GEnumValue*"/>
- </return-value>
- <parameters>
- <parameter name="enum_class" transfer-ownership="none">
- <doc xml:space="preserve">a #GEnumClass</doc>
- <type name="EnumClass" c:type="GEnumClass*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">the value to look up</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- </parameters>
- </function>
- <function name="enum_get_value_by_name"
- c:identifier="g_enum_get_value_by_name">
- <doc xml:space="preserve">Looks up a #GEnumValue by name.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GEnumValue with name @name,
- or %NULL if the enumeration doesn't have a member
- with that name</doc>
- <type name="EnumValue" c:type="GEnumValue*"/>
- </return-value>
- <parameters>
- <parameter name="enum_class" transfer-ownership="none">
- <doc xml:space="preserve">a #GEnumClass</doc>
- <type name="EnumClass" c:type="GEnumClass*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">the name to look up</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="enum_get_value_by_nick"
- c:identifier="g_enum_get_value_by_nick">
- <doc xml:space="preserve">Looks up a #GEnumValue by nickname.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GEnumValue with nickname @nick,
- or %NULL if the enumeration doesn't have a member
- with that nickname</doc>
- <type name="EnumValue" c:type="GEnumValue*"/>
- </return-value>
- <parameters>
- <parameter name="enum_class" transfer-ownership="none">
- <doc xml:space="preserve">a #GEnumClass</doc>
- <type name="EnumClass" c:type="GEnumClass*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">the nickname to look up</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="enum_register_static"
- c:identifier="g_enum_register_static">
- <doc xml:space="preserve">Registers a new static enumeration type with the name @name.
- It is normally more convenient to let [glib-mkenums][glib-mkenums],
- generate a my_enum_get_type() function from a usual C enumeration
- definition than to write one yourself using g_enum_register_static().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The new type identifier.</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">A nul-terminated string used as the name of the new type.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="const_static_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GEnumValue structs for the possible
- enumeration values. The array is terminated by a struct with all
- members being 0. GObject keeps a reference to the data, so it cannot
- be stack-allocated.</doc>
- <type name="EnumValue" c:type="const GEnumValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="flags_complete_type_info"
- c:identifier="g_flags_complete_type_info">
- <doc xml:space="preserve">This function is meant to be called from the complete_type_info()
- function of a #GTypePlugin implementation, see the example for
- g_enum_complete_type_info() above.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="g_flags_type" transfer-ownership="none">
- <doc xml:space="preserve">the type identifier of the type being completed</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="info"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">the #GTypeInfo struct to be filled in</doc>
- <type name="TypeInfo" c:type="GTypeInfo*"/>
- </parameter>
- <parameter name="const_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GFlagsValue structs for the possible
- enumeration values. The array is terminated by a struct with all
- members being 0.</doc>
- <type name="FlagsValue" c:type="const GFlagsValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="flags_get_first_value"
- c:identifier="g_flags_get_first_value">
- <doc xml:space="preserve">Returns the first #GFlagsValue which is set in @value.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the first #GFlagsValue which is set in
- @value, or %NULL if none is set</doc>
- <type name="FlagsValue" c:type="GFlagsValue*"/>
- </return-value>
- <parameters>
- <parameter name="flags_class" transfer-ownership="none">
- <doc xml:space="preserve">a #GFlagsClass</doc>
- <type name="FlagsClass" c:type="GFlagsClass*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">the value</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="flags_get_value_by_name"
- c:identifier="g_flags_get_value_by_name">
- <doc xml:space="preserve">Looks up a #GFlagsValue by name.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GFlagsValue with name @name,
- or %NULL if there is no flag with that name</doc>
- <type name="FlagsValue" c:type="GFlagsValue*"/>
- </return-value>
- <parameters>
- <parameter name="flags_class" transfer-ownership="none">
- <doc xml:space="preserve">a #GFlagsClass</doc>
- <type name="FlagsClass" c:type="GFlagsClass*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">the name to look up</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="flags_get_value_by_nick"
- c:identifier="g_flags_get_value_by_nick">
- <doc xml:space="preserve">Looks up a #GFlagsValue by nickname.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GFlagsValue with nickname @nick,
- or %NULL if there is no flag with that nickname</doc>
- <type name="FlagsValue" c:type="GFlagsValue*"/>
- </return-value>
- <parameters>
- <parameter name="flags_class" transfer-ownership="none">
- <doc xml:space="preserve">a #GFlagsClass</doc>
- <type name="FlagsClass" c:type="GFlagsClass*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">the nickname to look up</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="flags_register_static"
- c:identifier="g_flags_register_static">
- <doc xml:space="preserve">Registers a new static flags type with the name @name.
- It is normally more convenient to let [glib-mkenums][glib-mkenums]
- generate a my_flags_get_type() function from a usual C enumeration
- definition than to write one yourself using g_flags_register_static().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The new type identifier.</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">A nul-terminated string used as the name of the new type.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="const_static_values" transfer-ownership="none">
- <doc xml:space="preserve">An array of #GFlagsValue structs for the possible
- flags values. The array is terminated by a struct with all members being 0.
- GObject keeps a reference to the data, so it cannot be stack-allocated.</doc>
- <type name="FlagsValue" c:type="const GFlagsValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="gtype_get_type" c:identifier="g_gtype_get_type">
- <return-value transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </return-value>
- </function>
- <function name="param_spec_boolean" c:identifier="g_param_spec_boolean">
- <doc xml:space="preserve">Creates a new #GParamSpecBoolean instance specifying a %G_TYPE_BOOLEAN
- property. In many cases, it may be more appropriate to use an enum with
- g_param_spec_enum(), both to improve code clarity by using explicitly named
- values, and to allow for more values to be added in future without breaking
- API.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="default_value" transfer-ownership="none">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_boxed" c:identifier="g_param_spec_boxed">
- <doc xml:space="preserve">Creates a new #GParamSpecBoxed instance specifying a %G_TYPE_BOXED
- derived property.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="boxed_type" transfer-ownership="none">
- <doc xml:space="preserve">%G_TYPE_BOXED derived type of this property</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_char" c:identifier="g_param_spec_char">
- <doc xml:space="preserve">Creates a new #GParamSpecChar instance specifying a %G_TYPE_CHAR property.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="minimum" transfer-ownership="none">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="gint8" c:type="gint8"/>
- </parameter>
- <parameter name="maximum" transfer-ownership="none">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="gint8" c:type="gint8"/>
- </parameter>
- <parameter name="default_value" transfer-ownership="none">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gint8" c:type="gint8"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_double" c:identifier="g_param_spec_double">
- <doc xml:space="preserve">Creates a new #GParamSpecDouble instance specifying a %G_TYPE_DOUBLE
- property.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="minimum" transfer-ownership="none">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="gdouble" c:type="gdouble"/>
- </parameter>
- <parameter name="maximum" transfer-ownership="none">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="gdouble" c:type="gdouble"/>
- </parameter>
- <parameter name="default_value" transfer-ownership="none">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gdouble" c:type="gdouble"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_enum" c:identifier="g_param_spec_enum">
- <doc xml:space="preserve">Creates a new #GParamSpecEnum instance specifying a %G_TYPE_ENUM
- property.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="enum_type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType derived from %G_TYPE_ENUM</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="default_value" transfer-ownership="none">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_flags" c:identifier="g_param_spec_flags">
- <doc xml:space="preserve">Creates a new #GParamSpecFlags instance specifying a %G_TYPE_FLAGS
- property.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="flags_type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType derived from %G_TYPE_FLAGS</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="default_value" transfer-ownership="none">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_float" c:identifier="g_param_spec_float">
- <doc xml:space="preserve">Creates a new #GParamSpecFloat instance specifying a %G_TYPE_FLOAT property.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="minimum" transfer-ownership="none">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="gfloat" c:type="gfloat"/>
- </parameter>
- <parameter name="maximum" transfer-ownership="none">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="gfloat" c:type="gfloat"/>
- </parameter>
- <parameter name="default_value" transfer-ownership="none">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gfloat" c:type="gfloat"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_gtype"
- c:identifier="g_param_spec_gtype"
- version="2.10">
- <doc xml:space="preserve">Creates a new #GParamSpecGType instance specifying a
- %G_TYPE_GTYPE property.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="is_a_type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType whose subtypes are allowed as values
- of the property (use %G_TYPE_NONE for any type)</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_int" c:identifier="g_param_spec_int">
- <doc xml:space="preserve">Creates a new #GParamSpecInt instance specifying a %G_TYPE_INT property.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="minimum" transfer-ownership="none">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- <parameter name="maximum" transfer-ownership="none">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- <parameter name="default_value" transfer-ownership="none">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_int64" c:identifier="g_param_spec_int64">
- <doc xml:space="preserve">Creates a new #GParamSpecInt64 instance specifying a %G_TYPE_INT64 property.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="minimum" transfer-ownership="none">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="gint64" c:type="gint64"/>
- </parameter>
- <parameter name="maximum" transfer-ownership="none">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="gint64" c:type="gint64"/>
- </parameter>
- <parameter name="default_value" transfer-ownership="none">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gint64" c:type="gint64"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_long" c:identifier="g_param_spec_long">
- <doc xml:space="preserve">Creates a new #GParamSpecLong instance specifying a %G_TYPE_LONG property.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="minimum" transfer-ownership="none">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="glong" c:type="glong"/>
- </parameter>
- <parameter name="maximum" transfer-ownership="none">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="glong" c:type="glong"/>
- </parameter>
- <parameter name="default_value" transfer-ownership="none">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="glong" c:type="glong"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_object" c:identifier="g_param_spec_object">
- <doc xml:space="preserve">Creates a new #GParamSpecBoxed instance specifying a %G_TYPE_OBJECT
- derived property.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="object_type" transfer-ownership="none">
- <doc xml:space="preserve">%G_TYPE_OBJECT derived type of this property</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_override"
- c:identifier="g_param_spec_override"
- version="2.4"
- introspectable="0">
- <doc xml:space="preserve">Creates a new property of type #GParamSpecOverride. This is used
- to direct operations to another paramspec, and will not be directly
- useful unless you are implementing a new base type similar to GObject.</doc>
- <return-value>
- <doc xml:space="preserve">the newly created #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">the name of the property.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="overridden" transfer-ownership="none">
- <doc xml:space="preserve">The property that is being overridden</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_param" c:identifier="g_param_spec_param">
- <doc xml:space="preserve">Creates a new #GParamSpecParam instance specifying a %G_TYPE_PARAM
- property.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="param_type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType derived from %G_TYPE_PARAM</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_pointer" c:identifier="g_param_spec_pointer">
- <doc xml:space="preserve">Creates a new #GParamSpecPointer instance specifying a pointer property.
- Where possible, it is better to use g_param_spec_object() or
- g_param_spec_boxed() to expose memory management information.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_pool_new"
- c:identifier="g_param_spec_pool_new"
- moved-to="ParamSpecPool.new">
- <doc xml:space="preserve">Creates a new #GParamSpecPool.
- If @type_prefixing is %TRUE, lookups in the newly created pool will
- allow to specify the owner as a colon-separated prefix of the
- property name, like "GtkContainer:border-width". This feature is
- deprecated, so you should always set @type_prefixing to %FALSE.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a newly allocated #GParamSpecPool.</doc>
- <type name="ParamSpecPool" c:type="GParamSpecPool*"/>
- </return-value>
- <parameters>
- <parameter name="type_prefixing" transfer-ownership="none">
- <doc xml:space="preserve">Whether the pool will support type-prefixed property names.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_string" c:identifier="g_param_spec_string">
- <doc xml:space="preserve">Creates a new #GParamSpecString instance.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="default_value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_uchar" c:identifier="g_param_spec_uchar">
- <doc xml:space="preserve">Creates a new #GParamSpecUChar instance specifying a %G_TYPE_UCHAR property.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="minimum" transfer-ownership="none">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="guint8" c:type="guint8"/>
- </parameter>
- <parameter name="maximum" transfer-ownership="none">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="guint8" c:type="guint8"/>
- </parameter>
- <parameter name="default_value" transfer-ownership="none">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="guint8" c:type="guint8"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_uint" c:identifier="g_param_spec_uint">
- <doc xml:space="preserve">Creates a new #GParamSpecUInt instance specifying a %G_TYPE_UINT property.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="minimum" transfer-ownership="none">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="maximum" transfer-ownership="none">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="default_value" transfer-ownership="none">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_uint64" c:identifier="g_param_spec_uint64">
- <doc xml:space="preserve">Creates a new #GParamSpecUInt64 instance specifying a %G_TYPE_UINT64
- property.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="minimum" transfer-ownership="none">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="guint64" c:type="guint64"/>
- </parameter>
- <parameter name="maximum" transfer-ownership="none">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="guint64" c:type="guint64"/>
- </parameter>
- <parameter name="default_value" transfer-ownership="none">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="guint64" c:type="guint64"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_ulong" c:identifier="g_param_spec_ulong">
- <doc xml:space="preserve">Creates a new #GParamSpecULong instance specifying a %G_TYPE_ULONG
- property.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="minimum" transfer-ownership="none">
- <doc xml:space="preserve">minimum value for the property specified</doc>
- <type name="gulong" c:type="gulong"/>
- </parameter>
- <parameter name="maximum" transfer-ownership="none">
- <doc xml:space="preserve">maximum value for the property specified</doc>
- <type name="gulong" c:type="gulong"/>
- </parameter>
- <parameter name="default_value" transfer-ownership="none">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gulong" c:type="gulong"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_unichar" c:identifier="g_param_spec_unichar">
- <doc xml:space="preserve">Creates a new #GParamSpecUnichar instance specifying a %G_TYPE_UINT
- property. #GValue structures for this property can be accessed with
- g_value_set_uint() and g_value_get_uint().
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="default_value" transfer-ownership="none">
- <doc xml:space="preserve">default value for the property specified</doc>
- <type name="gunichar" c:type="gunichar"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_value_array"
- c:identifier="g_param_spec_value_array"
- introspectable="0">
- <doc xml:space="preserve">Creates a new #GParamSpecValueArray instance specifying a
- %G_TYPE_VALUE_ARRAY property. %G_TYPE_VALUE_ARRAY is a
- %G_TYPE_BOXED type, as such, #GValue structures for this property
- can be accessed with g_value_set_boxed() and g_value_get_boxed().
- See g_param_spec_internal() for details on property names.</doc>
- <return-value>
- <doc xml:space="preserve">a newly created parameter specification</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="element_spec" transfer-ownership="none">
- <doc xml:space="preserve">a #GParamSpec describing the elements contained in
- arrays of this property, may be %NULL</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_variant"
- c:identifier="g_param_spec_variant"
- version="2.26">
- <doc xml:space="preserve">Creates a new #GParamSpecVariant instance specifying a #GVariant
- property.
- If @default_value is floating, it is consumed.
- See g_param_spec_internal() for details on property names.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly created #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">canonical name of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">nick name for the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <doc xml:space="preserve">description of the property specified</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GVariantType</doc>
- <type name="GLib.VariantType" c:type="const GVariantType*"/>
- </parameter>
- <parameter name="default_value"
- transfer-ownership="full"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GVariant of type @type to
- use as the default value, or %NULL</doc>
- <type name="GLib.Variant" c:type="GVariant*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">flags for the property specified</doc>
- <type name="ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_type_register_static"
- c:identifier="g_param_type_register_static">
- <doc xml:space="preserve">Registers @name as the name of a new static type derived from
- #G_TYPE_PARAM. The type system uses the information contained in
- the #GParamSpecTypeInfo structure pointed to by @info to manage the
- #GParamSpec type and its instances.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The new type identifier.</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">0-terminated string used as the name of the new #GParamSpec type.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="pspec_info" transfer-ownership="none">
- <doc xml:space="preserve">The #GParamSpecTypeInfo for this #GParamSpec type.</doc>
- <type name="ParamSpecTypeInfo" c:type="const GParamSpecTypeInfo*"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_value_convert" c:identifier="g_param_value_convert">
- <doc xml:space="preserve">Transforms @src_value into @dest_value if possible, and then
- validates @dest_value, in order for it to conform to @pspec. If
- @strict_validation is %TRUE this function will only succeed if the
- transformed @dest_value complied to @pspec without modifications.
- See also g_value_type_transformable(), g_value_transform() and
- g_param_value_validate().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if transformation and validation were successful,
- %FALSE otherwise and @dest_value is left untouched.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- <parameter name="src_value" transfer-ownership="none">
- <doc xml:space="preserve">souce #GValue</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="dest_value" transfer-ownership="none">
- <doc xml:space="preserve">destination #GValue of correct type for @pspec</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="strict_validation" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE requires @dest_value to conform to @pspec
- without modifications</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_value_defaults"
- c:identifier="g_param_value_defaults">
- <doc xml:space="preserve">Checks whether @value contains the default value as specified in @pspec.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether @value contains the canonical default for this @pspec</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a #GValue of correct type for @pspec</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_value_set_default"
- c:identifier="g_param_value_set_default">
- <doc xml:space="preserve">Sets @value to its default value as specified in @pspec.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a #GValue of correct type for @pspec</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_value_validate"
- c:identifier="g_param_value_validate">
- <doc xml:space="preserve">Ensures that the contents of @value comply with the specifications
- set out by @pspec. For example, a #GParamSpecInt might require
- that integers stored in @value may not be smaller than -42 and not be
- greater than +42. If @value contains an integer outside of this range,
- it is modified accordingly, so the resulting value will fit into the
- range -42 .. +42.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether modifying @value was necessary to ensure validity</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a #GValue of correct type for @pspec</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_values_cmp" c:identifier="g_param_values_cmp">
- <doc xml:space="preserve">Compares @value1 with @value2 according to @pspec, and return -1, 0 or +1,
- if @value1 is found to be less than, equal to or greater than @value2,
- respectively.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">-1, 0 or +1, for a less than, equal to or greater than result</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GParamSpec</doc>
- <type name="ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- <parameter name="value1" transfer-ownership="none">
- <doc xml:space="preserve">a #GValue of correct type for @pspec</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="value2" transfer-ownership="none">
- <doc xml:space="preserve">a #GValue of correct type for @pspec</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="pointer_type_register_static"
- c:identifier="g_pointer_type_register_static">
- <doc xml:space="preserve">Creates a new %G_TYPE_POINTER derived type id for a new
- pointer type with name @name.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a new %G_TYPE_POINTER derived type id for @name.</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">the name of the new pointer type.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_accumulator_first_wins"
- c:identifier="g_signal_accumulator_first_wins"
- version="2.28">
- <doc xml:space="preserve">A predefined #GSignalAccumulator for signals intended to be used as a
- hook for application code to provide a particular value. Usually
- only one such value is desired and multiple handlers for the same
- signal don't make much sense (except for the case of the default
- handler defined in the class structure, in which case you will
- usually want the signal connection to override the class handler).
- This accumulator will use the return value from the first signal
- handler that is run as the return value for the signal and not run
- any further handlers (ie: the first handler "wins").</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">standard #GSignalAccumulator result</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="ihint" transfer-ownership="none">
- <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
- <type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
- </parameter>
- <parameter name="return_accu" transfer-ownership="none">
- <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="handler_return" transfer-ownership="none">
- <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="dummy"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_accumulator_true_handled"
- c:identifier="g_signal_accumulator_true_handled"
- version="2.4">
- <doc xml:space="preserve">A predefined #GSignalAccumulator for signals that return a
- boolean values. The behavior that this accumulator gives is
- that a return of %TRUE stops the signal emission: no further
- callbacks will be invoked, while a return of %FALSE allows
- the emission to continue. The idea here is that a %TRUE return
- indicates that the callback handled the signal, and no further
- handling is needed.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">standard #GSignalAccumulator result</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="ihint" transfer-ownership="none">
- <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
- <type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
- </parameter>
- <parameter name="return_accu" transfer-ownership="none">
- <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="handler_return" transfer-ownership="none">
- <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- <parameter name="dummy"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_add_emission_hook"
- c:identifier="g_signal_add_emission_hook">
- <doc xml:space="preserve">Adds an emission hook for a signal, which will get called for any emission
- of that signal, independent of the instance. This is possible only
- for signals which don't have #G_SIGNAL_NO_HOOKS flag set.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the hook id, for later use with g_signal_remove_emission_hook().</doc>
- <type name="gulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">the signal identifier, as returned by g_signal_lookup().</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="detail" transfer-ownership="none">
- <doc xml:space="preserve">the detail on which to call the hook.</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="hook_func"
- transfer-ownership="none"
- scope="notified"
- closure="3"
- destroy="4">
- <doc xml:space="preserve">a #GSignalEmissionHook function.</doc>
- <type name="SignalEmissionHook" c:type="GSignalEmissionHook"/>
- </parameter>
- <parameter name="hook_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">user data for @hook_func.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="data_destroy" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">a #GDestroyNotify for @hook_data.</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_chain_from_overridden"
- c:identifier="g_signal_chain_from_overridden">
- <doc xml:space="preserve">Calls the original class closure of a signal. This function should only
- be called from an overridden class closure; see
- g_signal_override_class_closure() and
- g_signal_override_class_handler().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance_and_params" transfer-ownership="none">
- <doc xml:space="preserve">the argument list of the signal emission.
- The first element in the array is a #GValue for the instance the signal
- is being emitted on. The rest are any arguments to be passed to the signal.</doc>
- <array zero-terminated="0" c:type="GValue*">
- <type name="Value" c:type="GValue"/>
- </array>
- </parameter>
- <parameter name="return_value" transfer-ownership="none">
- <doc xml:space="preserve">Location for the return value.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_chain_from_overridden_handler"
- c:identifier="g_signal_chain_from_overridden_handler"
- version="2.18"
- introspectable="0">
- <doc xml:space="preserve">Calls the original class closure of a signal. This function should
- only be called from an overridden class closure; see
- g_signal_override_class_closure() and
- g_signal_override_class_handler().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance the signal is being
- emitted on.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">parameters to be passed to the parent class closure, followed by a
- location for the return value. If the return type of the signal
- is #G_TYPE_NONE, the return value location can be omitted.</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_connect_closure"
- c:identifier="g_signal_connect_closure">
- <doc xml:space="preserve">Connects a closure to a signal for a particular object.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the handler id (always greater than 0 for successful connections)</doc>
- <type name="gulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance to connect to.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="detailed_signal" transfer-ownership="none">
- <doc xml:space="preserve">a string of the form "signal-name::detail".</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the closure to connect.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="after" transfer-ownership="none">
- <doc xml:space="preserve">whether the handler should be called before or after the
- default handler of the signal.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_connect_closure_by_id"
- c:identifier="g_signal_connect_closure_by_id">
- <doc xml:space="preserve">Connects a closure to a signal for a particular object.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the handler id (always greater than 0 for successful connections)</doc>
- <type name="gulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance to connect to.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">the id of the signal.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="detail" transfer-ownership="none">
- <doc xml:space="preserve">the detail.</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">the closure to connect.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="after" transfer-ownership="none">
- <doc xml:space="preserve">whether the handler should be called before or after the
- default handler of the signal.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_connect_data"
- c:identifier="g_signal_connect_data"
- introspectable="0">
- <doc xml:space="preserve">Connects a #GCallback function to a signal for a particular object. Similar
- to g_signal_connect(), but allows to provide a #GClosureNotify for the data
- which will be called when the signal handler is disconnected and no longer
- used. Specify @connect_flags if you need `..._after()` or
- `..._swapped()` variants of this function.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the handler id (always greater than 0 for successful connections)</doc>
- <type name="gulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance to connect to.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="detailed_signal" transfer-ownership="none">
- <doc xml:space="preserve">a string of the form "signal-name::detail".</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="c_handler" transfer-ownership="none" closure="3">
- <doc xml:space="preserve">the #GCallback to connect.</doc>
- <type name="Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to @c_handler calls.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy_data" transfer-ownership="none">
- <doc xml:space="preserve">a #GClosureNotify for @data.</doc>
- <type name="ClosureNotify" c:type="GClosureNotify"/>
- </parameter>
- <parameter name="connect_flags" transfer-ownership="none">
- <doc xml:space="preserve">a combination of #GConnectFlags.</doc>
- <type name="ConnectFlags" c:type="GConnectFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_connect_object"
- c:identifier="g_signal_connect_object"
- introspectable="0">
- <doc xml:space="preserve">This is similar to g_signal_connect_data(), but uses a closure which
- ensures that the @gobject stays alive during the call to @c_handler
- by temporarily adding a reference count to @gobject.
- When the @gobject is destroyed the signal handler will be automatically
- disconnected. Note that this is not currently threadsafe (ie:
- emitting a signal while @gobject is being destroyed in another thread
- is not safe).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the handler id.</doc>
- <type name="gulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance to connect to.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="detailed_signal" transfer-ownership="none">
- <doc xml:space="preserve">a string of the form "signal-name::detail".</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="c_handler" transfer-ownership="none">
- <doc xml:space="preserve">the #GCallback to connect.</doc>
- <type name="Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="gobject"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the object to pass as data
- to @c_handler.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="connect_flags" transfer-ownership="none">
- <doc xml:space="preserve">a combination of #GConnectFlags.</doc>
- <type name="ConnectFlags" c:type="GConnectFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_emit"
- c:identifier="g_signal_emit"
- introspectable="0">
- <doc xml:space="preserve">Emits a signal.
- Note that g_signal_emit() resets the return value to the default
- if no handlers are connected, in contrast to g_signal_emitv().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance the signal is being emitted on.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">the signal id</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="detail" transfer-ownership="none">
- <doc xml:space="preserve">the detail</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">parameters to be passed to the signal, followed by a
- location for the return value. If the return type of the signal
- is #G_TYPE_NONE, the return value location can be omitted.</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_emit_by_name"
- c:identifier="g_signal_emit_by_name"
- introspectable="0">
- <doc xml:space="preserve">Emits a signal.
- Note that g_signal_emit_by_name() resets the return value to the default
- if no handlers are connected, in contrast to g_signal_emitv().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance the signal is being emitted on.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="detailed_signal" transfer-ownership="none">
- <doc xml:space="preserve">a string of the form "signal-name::detail".</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">parameters to be passed to the signal, followed by a
- location for the return value. If the return type of the signal
- is #G_TYPE_NONE, the return value location can be omitted.</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_emit_valist"
- c:identifier="g_signal_emit_valist"
- introspectable="0">
- <doc xml:space="preserve">Emits a signal.
- Note that g_signal_emit_valist() resets the return value to the default
- if no handlers are connected, in contrast to g_signal_emitv().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance the signal is being
- emitted on.</doc>
- <type name="TypeInstance" c:type="gpointer"/>
- </parameter>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">the signal id</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="detail" transfer-ownership="none">
- <doc xml:space="preserve">the detail</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="var_args" transfer-ownership="none">
- <doc xml:space="preserve">a list of parameters to be passed to the signal, followed by a
- location for the return value. If the return type of the signal
- is #G_TYPE_NONE, the return value location can be omitted.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_emitv" c:identifier="g_signal_emitv">
- <doc xml:space="preserve">Emits a signal.
- Note that g_signal_emitv() doesn't change @return_value if no handlers are
- connected, in contrast to g_signal_emit() and g_signal_emit_valist().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance_and_params" transfer-ownership="none">
- <doc xml:space="preserve">argument list for the signal emission.
- The first element in the array is a #GValue for the instance the signal
- is being emitted on. The rest are any arguments to be passed to the signal.</doc>
- <array zero-terminated="0" c:type="GValue*">
- <type name="Value" c:type="GValue"/>
- </array>
- </parameter>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">the signal id</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="detail" transfer-ownership="none">
- <doc xml:space="preserve">the detail</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="return_value"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">Location to
- store the return value of the signal emission. This must be provided if the
- specified signal returns a value, but may be ignored otherwise.</doc>
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_get_invocation_hint"
- c:identifier="g_signal_get_invocation_hint">
- <doc xml:space="preserve">Returns the invocation hint of the innermost signal emission of instance.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the invocation hint of the innermost signal emission.</doc>
- <type name="SignalInvocationHint" c:type="GSignalInvocationHint*"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the instance to query</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_handler_block"
- c:identifier="g_signal_handler_block">
- <doc xml:space="preserve">Blocks a handler of an instance so it will not be called during any
- signal emissions unless it is unblocked again. Thus "blocking" a
- signal handler means to temporarily deactive it, a signal handler
- has to be unblocked exactly the same amount of times it has been
- blocked before to become active again.
- The @handler_id has to be a valid signal handler id, connected to a
- signal of @instance.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">The instance to block the signal handler of.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="handler_id" transfer-ownership="none">
- <doc xml:space="preserve">Handler id of the handler to be blocked.</doc>
- <type name="gulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_handler_disconnect"
- c:identifier="g_signal_handler_disconnect">
- <doc xml:space="preserve">Disconnects a handler from an instance so it will not be called during
- any future or currently ongoing emissions of the signal it has been
- connected to. The @handler_id becomes invalid and may be reused.
- The @handler_id has to be a valid signal handler id, connected to a
- signal of @instance.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">The instance to remove the signal handler from.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="handler_id" transfer-ownership="none">
- <doc xml:space="preserve">Handler id of the handler to be disconnected.</doc>
- <type name="gulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_handler_find" c:identifier="g_signal_handler_find">
- <doc xml:space="preserve">Finds the first signal handler that matches certain selection criteria.
- The criteria mask is passed as an OR-ed combination of #GSignalMatchType
- flags, and the criteria values are passed as arguments.
- The match @mask has to be non-0 for successful matches.
- If no handler was found, 0 is returned.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">A valid non-0 signal handler id for a successful match.</doc>
- <type name="gulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">The instance owning the signal handler to be found.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="mask" transfer-ownership="none">
- <doc xml:space="preserve">Mask indicating which of @signal_id, @detail, @closure, @func
- and/or @data the handler has to match.</doc>
- <type name="SignalMatchType" c:type="GSignalMatchType"/>
- </parameter>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">Signal the handler has to be connected to.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="detail" transfer-ownership="none">
- <doc xml:space="preserve">Signal detail the handler has to be connected to.</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="closure"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The closure the handler will invoke.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="func"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The C closure callback of the handler (useless for non-C closures).</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The closure data of the handler's closure.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_handler_is_connected"
- c:identifier="g_signal_handler_is_connected">
- <doc xml:space="preserve">Returns whether @handler_id is the id of a handler connected to @instance.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether @handler_id identifies a handler connected to @instance.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">The instance where a signal handler is sought.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="handler_id" transfer-ownership="none">
- <doc xml:space="preserve">the handler id.</doc>
- <type name="gulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_handler_unblock"
- c:identifier="g_signal_handler_unblock">
- <doc xml:space="preserve">Undoes the effect of a previous g_signal_handler_block() call. A
- blocked handler is skipped during signal emissions and will not be
- invoked, unblocking it (for exactly the amount of times it has been
- blocked before) reverts its "blocked" state, so the handler will be
- recognized by the signal system and is called upon future or
- currently ongoing signal emissions (since the order in which
- handlers are called during signal emissions is deterministic,
- whether the unblocked handler in question is called as part of a
- currently ongoing emission depends on how far that emission has
- proceeded yet).
- The @handler_id has to be a valid id of a signal handler that is
- connected to a signal of @instance and is currently blocked.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">The instance to unblock the signal handler of.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="handler_id" transfer-ownership="none">
- <doc xml:space="preserve">Handler id of the handler to be unblocked.</doc>
- <type name="gulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_handlers_block_matched"
- c:identifier="g_signal_handlers_block_matched">
- <doc xml:space="preserve">Blocks all handlers on an instance that match a certain selection criteria.
- The criteria mask is passed as an OR-ed combination of #GSignalMatchType
- flags, and the criteria values are passed as arguments.
- Passing at least one of the %G_SIGNAL_MATCH_CLOSURE, %G_SIGNAL_MATCH_FUNC
- or %G_SIGNAL_MATCH_DATA match flags is required for successful matches.
- If no handlers were found, 0 is returned, the number of blocked handlers
- otherwise.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The number of handlers that matched.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">The instance to block handlers from.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="mask" transfer-ownership="none">
- <doc xml:space="preserve">Mask indicating which of @signal_id, @detail, @closure, @func
- and/or @data the handlers have to match.</doc>
- <type name="SignalMatchType" c:type="GSignalMatchType"/>
- </parameter>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">Signal the handlers have to be connected to.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="detail" transfer-ownership="none">
- <doc xml:space="preserve">Signal detail the handlers have to be connected to.</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="closure"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The closure the handlers will invoke.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="func"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The C closure callback of the handlers (useless for non-C closures).</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The closure data of the handlers' closures.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_handlers_destroy"
- c:identifier="g_signal_handlers_destroy">
- <doc xml:space="preserve">Destroy all signal handlers of a type instance. This function is
- an implementation detail of the #GObject dispose implementation,
- and should not be used outside of the type system.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">The instance whose signal handlers are destroyed</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_handlers_disconnect_matched"
- c:identifier="g_signal_handlers_disconnect_matched">
- <doc xml:space="preserve">Disconnects all handlers on an instance that match a certain
- selection criteria. The criteria mask is passed as an OR-ed
- combination of #GSignalMatchType flags, and the criteria values are
- passed as arguments. Passing at least one of the
- %G_SIGNAL_MATCH_CLOSURE, %G_SIGNAL_MATCH_FUNC or
- %G_SIGNAL_MATCH_DATA match flags is required for successful
- matches. If no handlers were found, 0 is returned, the number of
- disconnected handlers otherwise.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The number of handlers that matched.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">The instance to remove handlers from.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="mask" transfer-ownership="none">
- <doc xml:space="preserve">Mask indicating which of @signal_id, @detail, @closure, @func
- and/or @data the handlers have to match.</doc>
- <type name="SignalMatchType" c:type="GSignalMatchType"/>
- </parameter>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">Signal the handlers have to be connected to.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="detail" transfer-ownership="none">
- <doc xml:space="preserve">Signal detail the handlers have to be connected to.</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="closure"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The closure the handlers will invoke.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="func"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The C closure callback of the handlers (useless for non-C closures).</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The closure data of the handlers' closures.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_handlers_unblock_matched"
- c:identifier="g_signal_handlers_unblock_matched">
- <doc xml:space="preserve">Unblocks all handlers on an instance that match a certain selection
- criteria. The criteria mask is passed as an OR-ed combination of
- #GSignalMatchType flags, and the criteria values are passed as arguments.
- Passing at least one of the %G_SIGNAL_MATCH_CLOSURE, %G_SIGNAL_MATCH_FUNC
- or %G_SIGNAL_MATCH_DATA match flags is required for successful matches.
- If no handlers were found, 0 is returned, the number of unblocked handlers
- otherwise. The match criteria should not apply to any handlers that are
- not currently blocked.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The number of handlers that matched.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">The instance to unblock handlers from.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="mask" transfer-ownership="none">
- <doc xml:space="preserve">Mask indicating which of @signal_id, @detail, @closure, @func
- and/or @data the handlers have to match.</doc>
- <type name="SignalMatchType" c:type="GSignalMatchType"/>
- </parameter>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">Signal the handlers have to be connected to.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="detail" transfer-ownership="none">
- <doc xml:space="preserve">Signal detail the handlers have to be connected to.</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="closure"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The closure the handlers will invoke.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="func"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The C closure callback of the handlers (useless for non-C closures).</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The closure data of the handlers' closures.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_has_handler_pending"
- c:identifier="g_signal_has_handler_pending">
- <doc xml:space="preserve">Returns whether there are any handlers connected to @instance for the
- given signal id and detail.
- If @detail is 0 then it will only match handlers that were connected
- without detail. If @detail is non-zero then it will match handlers
- connected both without detail and with the given detail. This is
- consistent with how a signal emitted with @detail would be delivered
- to those handlers.
- Since 2.46 this also checks for a non-default class closure being
- installed, as this is basically always what you want.
- One example of when you might use this is when the arguments to the
- signal are difficult to compute. A class implementor may opt to not
- emit the signal if no one is attached anyway, thus saving the cost
- of building the arguments.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if a handler is connected to the signal, %FALSE
- otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the object whose signal handlers are sought.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">the signal id.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="detail" transfer-ownership="none">
- <doc xml:space="preserve">the detail.</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="may_be_blocked" transfer-ownership="none">
- <doc xml:space="preserve">whether blocked handlers should count as match.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_list_ids" c:identifier="g_signal_list_ids">
- <doc xml:space="preserve">Lists the signals by id that a certain instance or interface type
- created. Further information about the signals can be acquired through
- g_signal_query().</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">Newly allocated array of signal IDs.</doc>
- <array length="1" zero-terminated="0" c:type="guint*">
- <type name="guint" c:type="guint"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="itype" transfer-ownership="none">
- <doc xml:space="preserve">Instance or interface type.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="n_ids"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">Location to store the number of signal ids for @itype.</doc>
- <type name="guint" c:type="guint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_lookup" c:identifier="g_signal_lookup">
- <doc xml:space="preserve">Given the name of the signal and the type of object it connects to, gets
- the signal's identifying integer. Emitting the signal by number is
- somewhat faster than using the name each time.
- Also tries the ancestors of the given type.
- See g_signal_new() for details on allowed signal names.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the signal's identifying number, or 0 if no signal was found.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">the signal's name.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="itype" transfer-ownership="none">
- <doc xml:space="preserve">the type that the signal operates on.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_name" c:identifier="g_signal_name">
- <doc xml:space="preserve">Given the signal's identifier, finds its name.
- Two different signals may have the same name, if they have differing types.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the signal name, or %NULL if the signal number was invalid.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </return-value>
- <parameters>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">the signal's identifying number.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_new" c:identifier="g_signal_new" introspectable="0">
- <doc xml:space="preserve">Creates a new signal. (This is usually done in the class initializer.)
- A signal name consists of segments consisting of ASCII letters and
- digits, separated by either the '-' or '_' character. The first
- character of a signal name must be a letter. Names which violate these
- rules lead to undefined behaviour of the GSignal system.
- When registering a signal and looking up a signal, either separator can
- be used, but they cannot be mixed.
- If 0 is used for @class_offset subclasses cannot override the class handler
- in their class_init method by doing super_class->signal_handler = my_signal_handler.
- Instead they will have to use g_signal_override_class_handler().
- If c_marshaller is %NULL, g_cclosure_marshal_generic() will be used as
- the marshaller for this signal.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the signal id</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="signal_name" transfer-ownership="none">
- <doc xml:space="preserve">the name for the signal</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="itype" transfer-ownership="none">
- <doc xml:space="preserve">the type this signal pertains to. It will also pertain to
- types which are derived from this type.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="signal_flags" transfer-ownership="none">
- <doc xml:space="preserve">a combination of #GSignalFlags specifying detail of when
- the default handler is to be invoked. You should at least specify
- %G_SIGNAL_RUN_FIRST or %G_SIGNAL_RUN_LAST.</doc>
- <type name="SignalFlags" c:type="GSignalFlags"/>
- </parameter>
- <parameter name="class_offset" transfer-ownership="none">
- <doc xml:space="preserve">The offset of the function pointer in the class structure
- for this type. Used to invoke a class method generically. Pass 0 to
- not associate a class method slot with this signal.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="accumulator" transfer-ownership="none" closure="5">
- <doc xml:space="preserve">the accumulator for this signal; may be %NULL.</doc>
- <type name="SignalAccumulator" c:type="GSignalAccumulator"/>
- </parameter>
- <parameter name="accu_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">user data for the @accumulator.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="c_marshaller"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the function to translate arrays of parameter
- values to signal emissions into C language callback invocations or %NULL.</doc>
- <type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
- </parameter>
- <parameter name="return_type" transfer-ownership="none">
- <doc xml:space="preserve">the type of return value, or #G_TYPE_NONE for a signal
- without a return value.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the number of parameter types to follow.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">a list of types, one for each parameter.</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_new_class_handler"
- c:identifier="g_signal_new_class_handler"
- version="2.18"
- introspectable="0">
- <doc xml:space="preserve">Creates a new signal. (This is usually done in the class initializer.)
- This is a variant of g_signal_new() that takes a C callback instead
- off a class offset for the signal's class handler. This function
- doesn't need a function pointer exposed in the class structure of
- an object definition, instead the function pointer is passed
- directly and can be overriden by derived classes with
- g_signal_override_class_closure() or
- g_signal_override_class_handler()and chained to with
- g_signal_chain_from_overridden() or
- g_signal_chain_from_overridden_handler().
- See g_signal_new() for information about signal names.
- If c_marshaller is %NULL, g_cclosure_marshal_generic() will be used as
- the marshaller for this signal.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the signal id</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="signal_name" transfer-ownership="none">
- <doc xml:space="preserve">the name for the signal</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="itype" transfer-ownership="none">
- <doc xml:space="preserve">the type this signal pertains to. It will also pertain to
- types which are derived from this type.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="signal_flags" transfer-ownership="none">
- <doc xml:space="preserve">a combination of #GSignalFlags specifying detail of when
- the default handler is to be invoked. You should at least specify
- %G_SIGNAL_RUN_FIRST or %G_SIGNAL_RUN_LAST.</doc>
- <type name="SignalFlags" c:type="GSignalFlags"/>
- </parameter>
- <parameter name="class_handler" transfer-ownership="none">
- <doc xml:space="preserve">a #GCallback which acts as class implementation of
- this signal. Used to invoke a class method generically. Pass %NULL to
- not associate a class method with this signal.</doc>
- <type name="Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="accumulator" transfer-ownership="none" closure="5">
- <doc xml:space="preserve">the accumulator for this signal; may be %NULL.</doc>
- <type name="SignalAccumulator" c:type="GSignalAccumulator"/>
- </parameter>
- <parameter name="accu_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">user data for the @accumulator.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="c_marshaller"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the function to translate arrays of parameter
- values to signal emissions into C language callback invocations or %NULL.</doc>
- <type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
- </parameter>
- <parameter name="return_type" transfer-ownership="none">
- <doc xml:space="preserve">the type of return value, or #G_TYPE_NONE for a signal
- without a return value.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the number of parameter types to follow.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">a list of types, one for each parameter.</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_new_valist"
- c:identifier="g_signal_new_valist"
- introspectable="0">
- <doc xml:space="preserve">Creates a new signal. (This is usually done in the class initializer.)
- See g_signal_new() for details on allowed signal names.
- If c_marshaller is %NULL, g_cclosure_marshal_generic() will be used as
- the marshaller for this signal.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the signal id</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="signal_name" transfer-ownership="none">
- <doc xml:space="preserve">the name for the signal</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="itype" transfer-ownership="none">
- <doc xml:space="preserve">the type this signal pertains to. It will also pertain to
- types which are derived from this type.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="signal_flags" transfer-ownership="none">
- <doc xml:space="preserve">a combination of #GSignalFlags specifying detail of when
- the default handler is to be invoked. You should at least specify
- %G_SIGNAL_RUN_FIRST or %G_SIGNAL_RUN_LAST.</doc>
- <type name="SignalFlags" c:type="GSignalFlags"/>
- </parameter>
- <parameter name="class_closure" transfer-ownership="none">
- <doc xml:space="preserve">The closure to invoke on signal emission; may be %NULL.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="accumulator" transfer-ownership="none" closure="5">
- <doc xml:space="preserve">the accumulator for this signal; may be %NULL.</doc>
- <type name="SignalAccumulator" c:type="GSignalAccumulator"/>
- </parameter>
- <parameter name="accu_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">user data for the @accumulator.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="c_marshaller"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the function to translate arrays of parameter
- values to signal emissions into C language callback invocations or %NULL.</doc>
- <type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
- </parameter>
- <parameter name="return_type" transfer-ownership="none">
- <doc xml:space="preserve">the type of return value, or #G_TYPE_NONE for a signal
- without a return value.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the number of parameter types in @args.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">va_list of #GType, one for each parameter.</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_newv"
- c:identifier="g_signal_newv"
- introspectable="0">
- <doc xml:space="preserve">Creates a new signal. (This is usually done in the class initializer.)
- See g_signal_new() for details on allowed signal names.
- If c_marshaller is %NULL, g_cclosure_marshal_generic() will be used as
- the marshaller for this signal.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the signal id</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="signal_name" transfer-ownership="none">
- <doc xml:space="preserve">the name for the signal</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="itype" transfer-ownership="none">
- <doc xml:space="preserve">the type this signal pertains to. It will also pertain to
- types which are derived from this type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="signal_flags" transfer-ownership="none">
- <doc xml:space="preserve">a combination of #GSignalFlags specifying detail of when
- the default handler is to be invoked. You should at least specify
- %G_SIGNAL_RUN_FIRST or %G_SIGNAL_RUN_LAST</doc>
- <type name="SignalFlags" c:type="GSignalFlags"/>
- </parameter>
- <parameter name="class_closure"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">The closure to invoke on signal emission;
- may be %NULL</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- <parameter name="accumulator"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="5">
- <doc xml:space="preserve">the accumulator for this signal; may be %NULL</doc>
- <type name="SignalAccumulator" c:type="GSignalAccumulator"/>
- </parameter>
- <parameter name="accu_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">user data for the @accumulator</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="c_marshaller"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the function to translate arrays of
- parameter values to signal emissions into C language callback
- invocations or %NULL</doc>
- <type name="SignalCMarshaller" c:type="GSignalCMarshaller"/>
- </parameter>
- <parameter name="return_type" transfer-ownership="none">
- <doc xml:space="preserve">the type of return value, or #G_TYPE_NONE for a signal
- without a return value</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">the length of @param_types</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="param_types" transfer-ownership="none">
- <doc xml:space="preserve">an array of types, one for
- each parameter</doc>
- <array length="8" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="signal_override_class_closure"
- c:identifier="g_signal_override_class_closure">
- <doc xml:space="preserve">Overrides the class closure (i.e. the default handler) for the given signal
- for emissions on instances of @instance_type. @instance_type must be derived
- from the type to which the signal belongs.
- See g_signal_chain_from_overridden() and
- g_signal_chain_from_overridden_handler() for how to chain up to the
- parent class closure from inside the overridden one.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">the signal id</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="instance_type" transfer-ownership="none">
- <doc xml:space="preserve">the instance type on which to override the class closure
- for the signal.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="class_closure" transfer-ownership="none">
- <doc xml:space="preserve">the closure.</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_override_class_handler"
- c:identifier="g_signal_override_class_handler"
- version="2.18"
- introspectable="0">
- <doc xml:space="preserve">Overrides the class closure (i.e. the default handler) for the
- given signal for emissions on instances of @instance_type with
- callback @class_handler. @instance_type must be derived from the
- type to which the signal belongs.
- See g_signal_chain_from_overridden() and
- g_signal_chain_from_overridden_handler() for how to chain up to the
- parent class closure from inside the overridden one.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="signal_name" transfer-ownership="none">
- <doc xml:space="preserve">the name for the signal</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="instance_type" transfer-ownership="none">
- <doc xml:space="preserve">the instance type on which to override the class handler
- for the signal.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="class_handler" transfer-ownership="none">
- <doc xml:space="preserve">the handler.</doc>
- <type name="Callback" c:type="GCallback"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_parse_name" c:identifier="g_signal_parse_name">
- <doc xml:space="preserve">Internal function to parse a signal name into its @signal_id
- and @detail quark.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">Whether the signal name could successfully be parsed and @signal_id_p and @detail_p contain valid return values.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="detailed_signal" transfer-ownership="none">
- <doc xml:space="preserve">a string of the form "signal-name::detail".</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="itype" transfer-ownership="none">
- <doc xml:space="preserve">The interface/instance type that introduced "signal-name".</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="signal_id_p"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">Location to store the signal id.</doc>
- <type name="guint" c:type="guint*"/>
- </parameter>
- <parameter name="detail_p"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">Location to store the detail quark.</doc>
- <type name="GLib.Quark" c:type="GQuark*"/>
- </parameter>
- <parameter name="force_detail_quark" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE forces creation of a #GQuark for the detail.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_query" c:identifier="g_signal_query">
- <doc xml:space="preserve">Queries the signal system for in-depth information about a
- specific signal. This function will fill in a user-provided
- structure to hold signal-specific information. If an invalid
- signal id is passed in, the @signal_id member of the #GSignalQuery
- is 0. All members filled into the #GSignalQuery structure should
- be considered constant and have to be left untouched.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">The signal id of the signal to query information for.</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="query"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none">
- <doc xml:space="preserve">A user provided structure that is
- filled in with constant values upon success.</doc>
- <type name="SignalQuery" c:type="GSignalQuery*"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_remove_emission_hook"
- c:identifier="g_signal_remove_emission_hook">
- <doc xml:space="preserve">Deletes an emission hook.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">the id of the signal</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="hook_id" transfer-ownership="none">
- <doc xml:space="preserve">the id of the emission hook, as returned by
- g_signal_add_emission_hook()</doc>
- <type name="gulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_set_va_marshaller"
- c:identifier="g_signal_set_va_marshaller"
- version="2.32">
- <doc xml:space="preserve">Change the #GSignalCVaMarshaller used for a given signal. This is a
- specialised form of the marshaller that can often be used for the
- common case of a single connected signal handler and avoids the
- overhead of #GValue. Its use is optional.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">the signal id</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="instance_type" transfer-ownership="none">
- <doc xml:space="preserve">the instance type on which to set the marshaller.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="va_marshaller" transfer-ownership="none">
- <doc xml:space="preserve">the marshaller to set.</doc>
- <type name="SignalCVaMarshaller" c:type="GSignalCVaMarshaller"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_stop_emission"
- c:identifier="g_signal_stop_emission">
- <doc xml:space="preserve">Stops a signal's current emission.
- This will prevent the default method from running, if the signal was
- %G_SIGNAL_RUN_LAST and you connected normally (i.e. without the "after"
- flag).
- Prints a warning if used on a signal which isn't being emitted.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the object whose signal handlers you wish to stop.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="signal_id" transfer-ownership="none">
- <doc xml:space="preserve">the signal identifier, as returned by g_signal_lookup().</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="detail" transfer-ownership="none">
- <doc xml:space="preserve">the detail which the signal was emitted with.</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_stop_emission_by_name"
- c:identifier="g_signal_stop_emission_by_name">
- <doc xml:space="preserve">Stops a signal's current emission.
- This is just like g_signal_stop_emission() except it will look up the
- signal id for you.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">the object whose signal handlers you wish to stop.</doc>
- <type name="Object" c:type="gpointer"/>
- </parameter>
- <parameter name="detailed_signal" transfer-ownership="none">
- <doc xml:space="preserve">a string of the form "signal-name::detail".</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="signal_type_cclosure_new"
- c:identifier="g_signal_type_cclosure_new">
- <doc xml:space="preserve">Creates a new closure which invokes the function found at the offset
- @struct_offset in the class structure of the interface or classed type
- identified by @itype.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #GCClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </return-value>
- <parameters>
- <parameter name="itype" transfer-ownership="none">
- <doc xml:space="preserve">the #GType identifier of an interface or classed type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="struct_offset" transfer-ownership="none">
- <doc xml:space="preserve">the offset of the member function of @itype's class
- structure which is to be invoked by the new closure</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="source_set_closure" c:identifier="g_source_set_closure">
- <doc xml:space="preserve">Set the callback for a source as a #GClosure.
- If the source is not one of the standard GLib types, the @closure_callback
- and @closure_marshal fields of the #GSourceFuncs structure must have been
- filled in with pointers to appropriate functions.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="source" transfer-ownership="none">
- <doc xml:space="preserve">the source</doc>
- <type name="GLib.Source" c:type="GSource*"/>
- </parameter>
- <parameter name="closure" transfer-ownership="none">
- <doc xml:space="preserve">a #GClosure</doc>
- <type name="Closure" c:type="GClosure*"/>
- </parameter>
- </parameters>
- </function>
- <function name="source_set_dummy_callback"
- c:identifier="g_source_set_dummy_callback">
- <doc xml:space="preserve">Sets a dummy callback for @source. The callback will do nothing, and
- if the source expects a #gboolean return value, it will return %TRUE.
- (If the source expects any other type of return value, it will return
- a 0/%NULL value; whatever g_value_init() initializes a #GValue to for
- that type.)
- If the source is not one of the standard GLib types, the
- @closure_callback and @closure_marshal fields of the #GSourceFuncs
- structure must have been filled in with pointers to appropriate
- functions.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="source" transfer-ownership="none">
- <doc xml:space="preserve">the source</doc>
- <type name="GLib.Source" c:type="GSource*"/>
- </parameter>
- </parameters>
- </function>
- <function name="strdup_value_contents"
- c:identifier="g_strdup_value_contents">
- <doc xml:space="preserve">Return a newly allocated string, which describes the contents of a
- #GValue. The main purpose of this function is to describe #GValue
- contents for debugging output, the way in which the contents are
- described may change between different GLib versions.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">Newly allocated string.</doc>
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">#GValue which contents are to be described.</doc>
- <type name="Value" c:type="const GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_add_class_cache_func"
- c:identifier="g_type_add_class_cache_func"
- introspectable="0">
- <doc xml:space="preserve">Adds a #GTypeClassCacheFunc to be called before the reference count of a
- class goes from one to zero. This can be used to prevent premature class
- destruction. All installed #GTypeClassCacheFunc functions will be chained
- until one of them returns %TRUE. The functions have to check the class id
- passed in to figure whether they actually want to cache the class of this
- type, since all classes are routed through the same #GTypeClassCacheFunc
- chain.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="cache_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to be passed to @cache_func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="cache_func" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypeClassCacheFunc</doc>
- <type name="TypeClassCacheFunc" c:type="GTypeClassCacheFunc"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_add_class_private"
- c:identifier="g_type_add_class_private"
- version="2.24">
- <doc xml:space="preserve">Registers a private class structure for a classed type;
- when the class is allocated, the private structures for
- the class and all of its parent types are allocated
- sequentially in the same memory block as the public
- structures, and are zero-filled.
- This function should be called in the
- type's get_type() function after the type is registered.
- The private structure can be retrieved using the
- G_TYPE_CLASS_GET_PRIVATE() macro.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="class_type" transfer-ownership="none">
- <doc xml:space="preserve">GType of an classed type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="private_size" transfer-ownership="none">
- <doc xml:space="preserve">size of private structure</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_add_instance_private"
- c:identifier="g_type_add_instance_private">
- <return-value transfer-ownership="none">
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="class_type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="private_size" transfer-ownership="none">
- <type name="gsize" c:type="gsize"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_add_interface_check"
- c:identifier="g_type_add_interface_check"
- version="2.4"
- introspectable="0">
- <doc xml:space="preserve">Adds a function to be called after an interface vtable is
- initialized for any class (i.e. after the @interface_init
- member of #GInterfaceInfo has been called).
- This function is useful when you want to check an invariant
- that depends on the interfaces of a class. For instance, the
- implementation of #GObject uses this facility to check that an
- object implements all of the properties that are defined on its
- interfaces.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="check_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to @check_func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="check_func" transfer-ownership="none">
- <doc xml:space="preserve">function to be called after each interface
- is initialized</doc>
- <type name="TypeInterfaceCheckFunc"
- c:type="GTypeInterfaceCheckFunc"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_add_interface_dynamic"
- c:identifier="g_type_add_interface_dynamic">
- <doc xml:space="preserve">Adds the dynamic @interface_type to @instantiable_type. The information
- contained in the #GTypePlugin structure pointed to by @plugin
- is used to manage the relationship.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance_type" transfer-ownership="none">
- <doc xml:space="preserve">#GType value of an instantiable type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="interface_type" transfer-ownership="none">
- <doc xml:space="preserve">#GType value of an interface type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="plugin" transfer-ownership="none">
- <doc xml:space="preserve">#GTypePlugin structure to retrieve the #GInterfaceInfo from</doc>
- <type name="TypePlugin" c:type="GTypePlugin*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_add_interface_static"
- c:identifier="g_type_add_interface_static">
- <doc xml:space="preserve">Adds the static @interface_type to @instantiable_type.
- The information contained in the #GInterfaceInfo structure
- pointed to by @info is used to manage the relationship.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance_type" transfer-ownership="none">
- <doc xml:space="preserve">#GType value of an instantiable type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="interface_type" transfer-ownership="none">
- <doc xml:space="preserve">#GType value of an interface type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="info" transfer-ownership="none">
- <doc xml:space="preserve">#GInterfaceInfo structure for this
- (@instance_type, @interface_type) combination</doc>
- <type name="InterfaceInfo" c:type="const GInterfaceInfo*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_check_class_cast"
- c:identifier="g_type_check_class_cast"
- introspectable="0">
- <return-value>
- <type name="TypeClass" c:type="GTypeClass*"/>
- </return-value>
- <parameters>
- <parameter name="g_class" transfer-ownership="none">
- <type name="TypeClass" c:type="GTypeClass*"/>
- </parameter>
- <parameter name="is_a_type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_check_class_is_a"
- c:identifier="g_type_check_class_is_a">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="g_class" transfer-ownership="none">
- <type name="TypeClass" c:type="GTypeClass*"/>
- </parameter>
- <parameter name="is_a_type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_check_instance" c:identifier="g_type_check_instance">
- <doc xml:space="preserve">Private helper function to aid implementation of the
- G_TYPE_CHECK_INSTANCE() macro.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @instance is valid, %FALSE otherwise</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">a valid #GTypeInstance structure</doc>
- <type name="TypeInstance" c:type="GTypeInstance*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_check_instance_cast"
- c:identifier="g_type_check_instance_cast"
- introspectable="0">
- <return-value>
- <type name="TypeInstance" c:type="GTypeInstance*"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <type name="TypeInstance" c:type="GTypeInstance*"/>
- </parameter>
- <parameter name="iface_type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_check_instance_is_a"
- c:identifier="g_type_check_instance_is_a">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <type name="TypeInstance" c:type="GTypeInstance*"/>
- </parameter>
- <parameter name="iface_type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_check_instance_is_fundamentally_a"
- c:identifier="g_type_check_instance_is_fundamentally_a">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <type name="TypeInstance" c:type="GTypeInstance*"/>
- </parameter>
- <parameter name="fundamental_type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_check_is_value_type"
- c:identifier="g_type_check_is_value_type">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_check_value" c:identifier="g_type_check_value">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_check_value_holds"
- c:identifier="g_type_check_value_holds">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="Value" c:type="GValue*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_children" c:identifier="g_type_children">
- <doc xml:space="preserve">Return a newly allocated and 0-terminated array of type IDs, listing
- the child types of @type.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">Newly allocated
- and 0-terminated array of child types, free with g_free()</doc>
- <array length="1" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the parent type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="n_children"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store the length of
- the returned array, or %NULL</doc>
- <type name="guint" c:type="guint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_class_adjust_private_offset"
- c:identifier="g_type_class_adjust_private_offset"
- moved-to="TypeClass.adjust_private_offset">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="g_class"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="private_size_or_offset" transfer-ownership="none">
- <type name="gint" c:type="gint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_class_peek"
- c:identifier="g_type_class_peek"
- moved-to="TypeClass.peek">
- <doc xml:space="preserve">This function is essentially the same as g_type_class_ref(),
- except that the classes reference count isn't incremented.
- As a consequence, this function may return %NULL if the class
- of the type passed in does not currently exist (hasn't been
- referenced before).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GTypeClass
- structure for the given type ID or %NULL if the class does not
- currently exist</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">type ID of a classed type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_class_peek_static"
- c:identifier="g_type_class_peek_static"
- moved-to="TypeClass.peek_static"
- version="2.4">
- <doc xml:space="preserve">A more efficient version of g_type_class_peek() which works only for
- static types.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GTypeClass
- structure for the given type ID or %NULL if the class does not
- currently exist or is dynamically loaded</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">type ID of a classed type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_class_ref"
- c:identifier="g_type_class_ref"
- moved-to="TypeClass.ref">
- <doc xml:space="preserve">Increments the reference count of the class structure belonging to
- @type. This function will demand-create the class if it doesn't
- exist already.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GTypeClass
- structure for the given type ID</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">type ID of a classed type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_create_instance"
- c:identifier="g_type_create_instance"
- introspectable="0">
- <doc xml:space="preserve">Creates and initializes an instance of @type if @type is valid and
- can be instantiated. The type system only performs basic allocation
- and structure setups for instances: actual instance creation should
- happen through functions supplied by the type's fundamental type
- implementation. So use of g_type_create_instance() is reserved for
- implementators of fundamental types only. E.g. instances of the
- #GObject hierarchy should be created via g_object_new() and never
- directly through g_type_create_instance() which doesn't handle things
- like singleton objects or object construction.
- The extended members of the returned instance are guaranteed to be filled
- with zeros.
- Note: Do not use this function, unless you're implementing a
- fundamental type. Also language bindings should not use this
- function, but g_object_new() instead.</doc>
- <return-value>
- <doc xml:space="preserve">an allocated and initialized instance, subject to further
- treatment by the fundamental type implementation</doc>
- <type name="TypeInstance" c:type="GTypeInstance*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">an instantiatable type to create an instance for</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_default_interface_peek"
- c:identifier="g_type_default_interface_peek"
- version="2.4">
- <doc xml:space="preserve">If the interface type @g_type is currently in use, returns its
- default interface vtable.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the default
- vtable for the interface, or %NULL if the type is not currently
- in use</doc>
- <type name="TypeInterface" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="g_type" transfer-ownership="none">
- <doc xml:space="preserve">an interface type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_default_interface_ref"
- c:identifier="g_type_default_interface_ref"
- version="2.4">
- <doc xml:space="preserve">Increments the reference count for the interface type @g_type,
- and returns the default interface vtable for the type.
- If the type is not currently in use, then the default vtable
- for the type will be created and initalized by calling
- the base interface init and default vtable init functions for
- the type (the @base_init and @class_init members of #GTypeInfo).
- Calling g_type_default_interface_ref() is useful when you
- want to make sure that signals and properties for an interface
- have been installed.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the default
- vtable for the interface; call g_type_default_interface_unref()
- when you are done using the interface.</doc>
- <type name="TypeInterface" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="g_type" transfer-ownership="none">
- <doc xml:space="preserve">an interface type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_default_interface_unref"
- c:identifier="g_type_default_interface_unref"
- version="2.4">
- <doc xml:space="preserve">Decrements the reference count for the type corresponding to the
- interface default vtable @g_iface. If the type is dynamic, then
- when no one is using the interface and all references have
- been released, the finalize function for the interface's default
- vtable (the @class_finalize member of #GTypeInfo) will be called.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="g_iface" transfer-ownership="none">
- <doc xml:space="preserve">the default vtable
- structure for a interface, as returned by g_type_default_interface_ref()</doc>
- <type name="TypeInterface" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_depth" c:identifier="g_type_depth">
- <doc xml:space="preserve">Returns the length of the ancestry of the passed in type. This
- includes the type itself, so that e.g. a fundamental type has depth 1.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the depth of @type</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_ensure" c:identifier="g_type_ensure" version="2.34">
- <doc xml:space="preserve">Ensures that the indicated @type has been registered with the
- type system, and its _class_init() method has been run.
- In theory, simply calling the type's _get_type() method (or using
- the corresponding macro) is supposed take care of this. However,
- _get_type() methods are often marked %G_GNUC_CONST for performance
- reasons, even though this is technically incorrect (since
- %G_GNUC_CONST requires that the function not have side effects,
- which _get_type() methods do on the first call). As a result, if
- you write a bare call to a _get_type() macro, it may get optimized
- out by the compiler. Using g_type_ensure() guarantees that the
- type's _get_type() method is called.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_free_instance" c:identifier="g_type_free_instance">
- <doc xml:space="preserve">Frees an instance of a type, returning it to the instance pool for
- the type, if there is one.
- Like g_type_create_instance(), this function is reserved for
- implementors of fundamental types.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <doc xml:space="preserve">an instance of a type</doc>
- <type name="TypeInstance" c:type="GTypeInstance*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_from_name" c:identifier="g_type_from_name">
- <doc xml:space="preserve">Lookup the type ID from a given type name, returning 0 if no type
- has been registered under this name (this is the preferred method
- to find out by name whether a specific type has been registered
- yet).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">corresponding type ID or 0</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">type name to lookup</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_fundamental" c:identifier="g_type_fundamental">
- <doc xml:space="preserve">Internal function, used to extract the fundamental type ID portion.
- Use G_TYPE_FUNDAMENTAL() instead.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">fundamental type ID</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="type_id" transfer-ownership="none">
- <doc xml:space="preserve">valid type ID</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_fundamental_next"
- c:identifier="g_type_fundamental_next">
- <doc xml:space="preserve">Returns the next free fundamental type id which can be used to
- register a new fundamental type with g_type_register_fundamental().
- The returned type ID represents the highest currently registered
- fundamental type identifier.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the next available fundamental type ID to be registered,
- or 0 if the type system ran out of fundamental type IDs</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- </function>
- <function name="type_get_instance_count"
- c:identifier="g_type_get_instance_count"
- version="2.44">
- <doc xml:space="preserve">Returns the number of instances allocated of the particular type;
- this is only available if GLib is built with debugging support and
- the instance_count debug flag is set (by setting the GOBJECT_DEBUG
- variable to include instance-count).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the number of instances allocated of the given type;
- if instance counts are not available, returns 0.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_get_plugin" c:identifier="g_type_get_plugin">
- <doc xml:space="preserve">Returns the #GTypePlugin structure for @type.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the corresponding plugin
- if @type is a dynamic type, %NULL otherwise</doc>
- <type name="TypePlugin" c:type="GTypePlugin*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">#GType to retrieve the plugin for</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_get_qdata" c:identifier="g_type_get_qdata">
- <doc xml:space="preserve">Obtains data which has previously been attached to @type
- with g_type_set_qdata().
- Note that this does not take subtyping into account; data
- attached to one type with g_type_set_qdata() cannot
- be retrieved from a subtype using g_type_get_qdata().</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the data, or %NULL if no data was found</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="quark" transfer-ownership="none">
- <doc xml:space="preserve">a #GQuark id to identify the data</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_get_type_registration_serial"
- c:identifier="g_type_get_type_registration_serial"
- version="2.36">
- <doc xml:space="preserve">Returns an opaque serial number that represents the state of the set
- of registered types. Any time a type is registered this serial changes,
- which means you can cache information based on type lookups (such as
- g_type_from_name()) and know if the cache is still valid at a later
- time by comparing the current serial with the one at the type lookup.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">An unsigned int, representing the state of type registrations</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- </function>
- <function name="type_init"
- c:identifier="g_type_init"
- deprecated="1"
- deprecated-version="2.36">
- <doc xml:space="preserve">This function used to initialise the type system. Since GLib 2.36,
- the type system is initialised automatically and this function does
- nothing.</doc>
- <doc-deprecated xml:space="preserve">the type system is now initialised automatically</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </function>
- <function name="type_init_with_debug_flags"
- c:identifier="g_type_init_with_debug_flags"
- deprecated="1"
- deprecated-version="2.36">
- <doc xml:space="preserve">This function used to initialise the type system with debugging
- flags. Since GLib 2.36, the type system is initialised automatically
- and this function does nothing.
- If you need to enable debugging features, use the GOBJECT_DEBUG
- environment variable.</doc>
- <doc-deprecated xml:space="preserve">the type system is now initialised automatically</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="debug_flags" transfer-ownership="none">
- <doc xml:space="preserve">bitwise combination of #GTypeDebugFlags values for
- debugging purposes</doc>
- <type name="TypeDebugFlags" c:type="GTypeDebugFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_interface_add_prerequisite"
- c:identifier="g_type_interface_add_prerequisite"
- moved-to="TypeInterface.add_prerequisite">
- <doc xml:space="preserve">Adds @prerequisite_type to the list of prerequisites of @interface_type.
- This means that any type implementing @interface_type must also implement
- @prerequisite_type. Prerequisites can be thought of as an alternative to
- interface derivation (which GType doesn't support). An interface can have
- at most one instantiatable prerequisite type.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="interface_type" transfer-ownership="none">
- <doc xml:space="preserve">#GType value of an interface type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="prerequisite_type" transfer-ownership="none">
- <doc xml:space="preserve">#GType value of an interface or instantiatable type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_interface_get_plugin"
- c:identifier="g_type_interface_get_plugin"
- moved-to="TypeInterface.get_plugin">
- <doc xml:space="preserve">Returns the #GTypePlugin structure for the dynamic interface
- @interface_type which has been added to @instance_type, or %NULL
- if @interface_type has not been added to @instance_type or does
- not have a #GTypePlugin structure. See g_type_add_interface_dynamic().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GTypePlugin for the dynamic
- interface @interface_type of @instance_type</doc>
- <type name="TypePlugin" c:type="GTypePlugin*"/>
- </return-value>
- <parameters>
- <parameter name="instance_type" transfer-ownership="none">
- <doc xml:space="preserve">#GType of an instantiatable type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="interface_type" transfer-ownership="none">
- <doc xml:space="preserve">#GType of an interface type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_interface_peek"
- c:identifier="g_type_interface_peek"
- moved-to="TypeInterface.peek">
- <doc xml:space="preserve">Returns the #GTypeInterface structure of an interface to which the
- passed in class conforms.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GTypeInterface
- structure of @iface_type if implemented by @instance_class, %NULL
- otherwise</doc>
- <type name="TypeInterface" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="instance_class" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypeClass structure</doc>
- <type name="TypeClass" c:type="gpointer"/>
- </parameter>
- <parameter name="iface_type" transfer-ownership="none">
- <doc xml:space="preserve">an interface ID which this class conforms to</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_interface_prerequisites"
- c:identifier="g_type_interface_prerequisites"
- moved-to="TypeInterface.prerequisites"
- version="2.2">
- <doc xml:space="preserve">Returns the prerequisites of an interfaces type.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a
- newly-allocated zero-terminated array of #GType containing
- the prerequisites of @interface_type</doc>
- <array length="1" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="interface_type" transfer-ownership="none">
- <doc xml:space="preserve">an interface type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="n_prerequisites"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to return the number
- of prerequisites, or %NULL</doc>
- <type name="guint" c:type="guint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_interfaces" c:identifier="g_type_interfaces">
- <doc xml:space="preserve">Return a newly allocated and 0-terminated array of type IDs, listing
- the interface types that @type conforms to.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">Newly allocated
- and 0-terminated array of interface types, free with g_free()</doc>
- <array length="1" zero-terminated="0" c:type="GType*">
- <type name="GType" c:type="GType"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the type to list interface types for</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="n_interfaces"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store the length of
- the returned array, or %NULL</doc>
- <type name="guint" c:type="guint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_is_a" c:identifier="g_type_is_a">
- <doc xml:space="preserve">If @is_a_type is a derivable type, check whether @type is a
- descendant of @is_a_type. If @is_a_type is an interface, check
- whether @type conforms to it.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @type is a @is_a_type</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">type to check anchestry for</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="is_a_type" transfer-ownership="none">
- <doc xml:space="preserve">possible anchestor of @type or interface that @type
- could conform to</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_name" c:identifier="g_type_name">
- <doc xml:space="preserve">Get the unique name that is assigned to a type ID. Note that this
- function (like all other GType API) cannot cope with invalid type
- IDs. %G_TYPE_INVALID may be passed to this function, as may be any
- other validly registered type ID, but randomized type IDs should
- not be passed in and will most likely lead to a crash.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">static type name or %NULL</doc>
- <type name="utf8" c:type="const gchar*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">type to return name for</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_name_from_class"
- c:identifier="g_type_name_from_class">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="const gchar*"/>
- </return-value>
- <parameters>
- <parameter name="g_class" transfer-ownership="none">
- <type name="TypeClass" c:type="GTypeClass*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_name_from_instance"
- c:identifier="g_type_name_from_instance">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="const gchar*"/>
- </return-value>
- <parameters>
- <parameter name="instance" transfer-ownership="none">
- <type name="TypeInstance" c:type="GTypeInstance*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_next_base" c:identifier="g_type_next_base">
- <doc xml:space="preserve">Given a @leaf_type and a @root_type which is contained in its
- anchestry, return the type that @root_type is the immediate parent
- of. In other words, this function determines the type that is
- derived directly from @root_type which is also a base class of
- @leaf_type. Given a root type and a leaf type, this function can
- be used to determine the types and order in which the leaf type is
- descended from the root type.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">immediate child of @root_type and anchestor of @leaf_type</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="leaf_type" transfer-ownership="none">
- <doc xml:space="preserve">descendant of @root_type and the type to be returned</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="root_type" transfer-ownership="none">
- <doc xml:space="preserve">immediate parent of the returned type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_parent" c:identifier="g_type_parent">
- <doc xml:space="preserve">Return the direct parent type of the passed in type. If the passed
- in type has no parent, i.e. is a fundamental type, 0 is returned.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the parent type</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the derived type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_qname" c:identifier="g_type_qname">
- <doc xml:space="preserve">Get the corresponding quark of the type IDs name.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the type names quark or 0</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">type to return quark of type name for</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_query" c:identifier="g_type_query">
- <doc xml:space="preserve">Queries the type system for information about a specific type.
- This function will fill in a user-provided structure to hold
- type-specific information. If an invalid #GType is passed in, the
- @type member of the #GTypeQuery is 0. All members filled into the
- #GTypeQuery structure should be considered constant and have to be
- left untouched.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">#GType of a static, classed type</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="query"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none">
- <doc xml:space="preserve">a user provided structure that is
- filled in with constant values upon success</doc>
- <type name="TypeQuery" c:type="GTypeQuery*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_register_dynamic"
- c:identifier="g_type_register_dynamic">
- <doc xml:space="preserve">Registers @type_name as the name of a new dynamic type derived from
- @parent_type. The type system uses the information contained in the
- #GTypePlugin structure pointed to by @plugin to manage the type and its
- instances (if not abstract). The value of @flags determines the nature
- (e.g. abstract or not) of the type.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the new type identifier or #G_TYPE_INVALID if registration failed</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="parent_type" transfer-ownership="none">
- <doc xml:space="preserve">type from which this type will be derived</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="type_name" transfer-ownership="none">
- <doc xml:space="preserve">0-terminated string used as the name of the new type</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="plugin" transfer-ownership="none">
- <doc xml:space="preserve">#GTypePlugin structure to retrieve the #GTypeInfo from</doc>
- <type name="TypePlugin" c:type="GTypePlugin*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">bitwise combination of #GTypeFlags values</doc>
- <type name="TypeFlags" c:type="GTypeFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_register_fundamental"
- c:identifier="g_type_register_fundamental">
- <doc xml:space="preserve">Registers @type_id as the predefined identifier and @type_name as the
- name of a fundamental type. If @type_id is already registered, or a
- type named @type_name is already registered, the behaviour is undefined.
- The type system uses the information contained in the #GTypeInfo structure
- pointed to by @info and the #GTypeFundamentalInfo structure pointed to by
- @finfo to manage the type and its instances. The value of @flags determines
- additional characteristics of the fundamental type.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the predefined type identifier</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="type_id" transfer-ownership="none">
- <doc xml:space="preserve">a predefined type identifier</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="type_name" transfer-ownership="none">
- <doc xml:space="preserve">0-terminated string used as the name of the new type</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="info" transfer-ownership="none">
- <doc xml:space="preserve">#GTypeInfo structure for this type</doc>
- <type name="TypeInfo" c:type="const GTypeInfo*"/>
- </parameter>
- <parameter name="finfo" transfer-ownership="none">
- <doc xml:space="preserve">#GTypeFundamentalInfo structure for this type</doc>
- <type name="TypeFundamentalInfo"
- c:type="const GTypeFundamentalInfo*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">bitwise combination of #GTypeFlags values</doc>
- <type name="TypeFlags" c:type="GTypeFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_register_static"
- c:identifier="g_type_register_static">
- <doc xml:space="preserve">Registers @type_name as the name of a new static type derived from
- @parent_type. The type system uses the information contained in the
- #GTypeInfo structure pointed to by @info to manage the type and its
- instances (if not abstract). The value of @flags determines the nature
- (e.g. abstract or not) of the type.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the new type identifier</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="parent_type" transfer-ownership="none">
- <doc xml:space="preserve">type from which this type will be derived</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="type_name" transfer-ownership="none">
- <doc xml:space="preserve">0-terminated string used as the name of the new type</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="info" transfer-ownership="none">
- <doc xml:space="preserve">#GTypeInfo structure for this type</doc>
- <type name="TypeInfo" c:type="const GTypeInfo*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">bitwise combination of #GTypeFlags values</doc>
- <type name="TypeFlags" c:type="GTypeFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_register_static_simple"
- c:identifier="g_type_register_static_simple"
- version="2.12"
- introspectable="0">
- <doc xml:space="preserve">Registers @type_name as the name of a new static type derived from
- @parent_type. The value of @flags determines the nature (e.g.
- abstract or not) of the type. It works by filling a #GTypeInfo
- struct and calling g_type_register_static().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the new type identifier</doc>
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="parent_type" transfer-ownership="none">
- <doc xml:space="preserve">type from which this type will be derived</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="type_name" transfer-ownership="none">
- <doc xml:space="preserve">0-terminated string used as the name of the new type</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="class_size" transfer-ownership="none">
- <doc xml:space="preserve">size of the class structure (see #GTypeInfo)</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="class_init" transfer-ownership="none">
- <doc xml:space="preserve">location of the class initialization function (see #GTypeInfo)</doc>
- <type name="ClassInitFunc" c:type="GClassInitFunc"/>
- </parameter>
- <parameter name="instance_size" transfer-ownership="none">
- <doc xml:space="preserve">size of the instance structure (see #GTypeInfo)</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="instance_init" transfer-ownership="none">
- <doc xml:space="preserve">location of the instance initialization function (see #GTypeInfo)</doc>
- <type name="InstanceInitFunc" c:type="GInstanceInitFunc"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">bitwise combination of #GTypeFlags values</doc>
- <type name="TypeFlags" c:type="GTypeFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_remove_class_cache_func"
- c:identifier="g_type_remove_class_cache_func"
- introspectable="0">
- <doc xml:space="preserve">Removes a previously installed #GTypeClassCacheFunc. The cache
- maintained by @cache_func has to be empty when calling
- g_type_remove_class_cache_func() to avoid leaks.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="cache_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data that was given when adding @cache_func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="cache_func" transfer-ownership="none">
- <doc xml:space="preserve">a #GTypeClassCacheFunc</doc>
- <type name="TypeClassCacheFunc" c:type="GTypeClassCacheFunc"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_remove_interface_check"
- c:identifier="g_type_remove_interface_check"
- version="2.4"
- introspectable="0">
- <doc xml:space="preserve">Removes an interface check function added with
- g_type_add_interface_check().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="check_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">callback data passed to g_type_add_interface_check()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="check_func" transfer-ownership="none">
- <doc xml:space="preserve">callback function passed to g_type_add_interface_check()</doc>
- <type name="TypeInterfaceCheckFunc"
- c:type="GTypeInterfaceCheckFunc"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_set_qdata" c:identifier="g_type_set_qdata">
- <doc xml:space="preserve">Attaches arbitrary data to a type.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="quark" transfer-ownership="none">
- <doc xml:space="preserve">a #GQuark id to identify the data</doc>
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the data</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_test_flags" c:identifier="g_type_test_flags">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_value_table_peek"
- c:identifier="g_type_value_table_peek"
- moved-to="TypeValueTable.peek"
- introspectable="0">
- <doc xml:space="preserve">Returns the location of the #GTypeValueTable associated with @type.
- Note that this function should only be used from source code
- that implements or has internal knowledge of the implementation of
- @type.</doc>
- <return-value>
- <doc xml:space="preserve">location of the #GTypeValueTable associated with @type or
- %NULL if there is no #GTypeValueTable associated with @type</doc>
- <type name="TypeValueTable" c:type="GTypeValueTable*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_register_transform_func"
- c:identifier="g_value_register_transform_func"
- moved-to="Value.register_transform_func"
- introspectable="0">
- <doc xml:space="preserve">Registers a value transformation function for use in g_value_transform().
- A previously registered transformation function for @src_type and @dest_type
- will be replaced.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src_type" transfer-ownership="none">
- <doc xml:space="preserve">Source type.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="dest_type" transfer-ownership="none">
- <doc xml:space="preserve">Target type.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="transform_func" transfer-ownership="none">
- <doc xml:space="preserve">a function which transforms values of type @src_type
- into value of type @dest_type</doc>
- <type name="ValueTransform" c:type="GValueTransform"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_type_compatible"
- c:identifier="g_value_type_compatible"
- moved-to="Value.type_compatible">
- <doc xml:space="preserve">Returns whether a #GValue of type @src_type can be copied into
- a #GValue of type @dest_type.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if g_value_copy() is possible with @src_type and @dest_type.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src_type" transfer-ownership="none">
- <doc xml:space="preserve">source type to be copied.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="dest_type" transfer-ownership="none">
- <doc xml:space="preserve">destination type for copying.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_type_transformable"
- c:identifier="g_value_type_transformable"
- moved-to="Value.type_transformable">
- <doc xml:space="preserve">Check whether g_value_transform() is able to transform values
- of type @src_type into values of type @dest_type. Note that for
- the types to be transformable, they must be compatible and a
- transform function must be registered.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the transformation is possible, %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src_type" transfer-ownership="none">
- <doc xml:space="preserve">Source type.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="dest_type" transfer-ownership="none">
- <doc xml:space="preserve">Target type.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- </namespace>
- </repository>
|