1import eina_types; 2 3type Dummy.MyInt: int; [[Docs for typedef Dummy. @since 1.66]] 4 5const Dummy.Constvar_Bool : bool = true; [[Docs for var Dummy.Constvar_Bool. @since 1.66]] 6const Dummy.Constvar_Int : int = -32766; [[Docs for var Dummy.Constvar_Int. @since 1.66]] 7const Dummy.Constvar_UInt : uint = 65533U; [[Docs for var Dummy.Constvar_UInt. @since 1.66]] 8const Dummy.Constvar_Long : long = -2147483644L; [[Docs for var Dummy.Constvar_Long. @since 1.66]] 9const Dummy.Constvar_ULong : ulong = 4294967288UL; [[Docs for var Dummy.Constvar_ULong @since 1.66]] 10const Dummy.Constvar_LLong : llong = -9223372036854775800LL; [[Docs for var Dummy.Constvar_LLong. @since 1.66]] 11const Dummy.Constvar_ULLong : ullong = 18446744073709551615ULL; [[Docs for var Dummy.Constvar_ULLong. @since 1.66]] 12const Dummy.Constvar_Float : float = 16777211.0f; [[Docs for var Dummy.Constvar_Float. @since 1.66]] 13const Dummy.Constvar_Double : double = 9007199254740988.0; [[Docs for var Dummy.Constvar_Double. @since 1.66]] 14const Dummy.Constvar_Char : char = '!'; [[Docs for var Dummy.Constvar_Char. @since 1.66]] 15const Dummy.Constvar_String : string = "test_str"; [[Docs for var Dummy.Constvar_String. @since 1.66]] 16 17enum Dummy.SampleEnum { 18 [[Docs for enum Dummy.SampleEnum. @since 1.66]] 19 v0, 20 v1, 21 v2, 22 v3, 23 v4, 24} 25 26struct @free(free) Dummy.StructSimple { 27 [[Docs for struct Dummy.StructSimple. @since 1.66]] 28 fbyte: byte; 29 fubyte: ubyte; 30 fchar: char; 31 fshort: short; 32 fushort: ushort; 33 fint: int; 34 fuint: uint; 35 flong: long; 36 fulong: ulong; 37 fllong: llong; 38 fullong: ullong; 39 fint8: int8; 40 fuint8: uint8; 41 fint16: int16; 42 fuint16: uint16; 43 fint32: int32; 44 fuint32: uint32; 45 fint64: int64; 46 fuint64: uint64; 47 fssize: ssize; 48 fsize: size; 49 fintptr: intptr; 50 // fuintptr: uintptr; // TODO 51 fptrdiff: ptrdiff; 52 ffloat: float; 53 fdouble: double; 54 fbool: bool; 55 fenum: Dummy.SampleEnum; 56 // fboolptr: ptr(bool); // TODO 57 // fbyteptr: ptr(byte); 58 // fubyteptr: ptr(ubyte); 59 // fcharptr: ptr(char); 60 // fuint8ptr: ptr(uint8); 61 // fint16ptr: ptr(int16); 62 // fuint64ptr: ptr(uint64); 63 // fssizeptr: ptr(ssize); 64 // fsizeptr: ptr(size); 65 // fintptrptr: ptr(intptr); 66 // fptrdiffptr: ptr(ptrdiff); 67 // ffloatptr: ptr(float); 68 // fdoubleptr: ptr(double); 69 // fvoid_ptrptr: ptr(void_ptr); 70 // fenumptr: ptr(Dummy.SampleEnum); 71 fstring: string; 72 fmstring: mstring; 73 fstringshare: stringshare; 74 fmyint: Dummy.MyInt; 75} 76 77struct @beta @free(free) Dummy.StructComplex { 78 farray: array<string>; 79 flist: list<string>; 80 fhash: hash<string, string>; 81 fiterator: iterator<string>; 82 faccessor: accessor<string>; 83 fany_value: any_value; 84 fany_value_ref: any_value_ref; 85 fbinbuf: binbuf; 86 fslice: slice<ubyte>; 87 // fslice: ptr(Eina.Slice); // TODO 88 fobj: Dummy.Numberwrapper; 89} 90 91function Dummy.SimpleCb { 92 [[Docs for function Dummy.SimpleCb. @since 1.66]] 93 params { 94 a: int; 95 } 96 return: int; 97}; 98 99function Dummy.FormatCb { 100 [[Docs for function Dummy.FormatCb. @since 1.66]] 101 params { 102 @in str: strbuf; 103 @in value: const(any_value); 104 } 105}; 106 107class Dummy.Test_Object extends Efl.Object implements Dummy.Test_Iface { 108 [[ Simple test class 109 110 @since 1.23 ]] 111 methods { 112 return_object { 113 return: Dummy.Test_Object; 114 } 115 116 return_null_object { 117 return: Dummy.Test_Object; 118 } 119 120 return_iface { 121 return: Dummy.Test_Iface; 122 } 123 124 int_out { 125 params { 126 @in x: int; 127 @out y: int; 128 } 129 } 130 131 /* 132 int_ptr_out { 133 params { 134 @in x: int; 135 @out y: ptr(int); 136 } 137 } 138 */ 139 140 in_stringshare { 141 params { 142 @in v: stringshare; 143 } 144 return: stringshare @move; 145 } 146 in_own_stringshare { 147 params { 148 @in v: stringshare @move; 149 } 150 return: stringshare @move; 151 } 152 153 out_stringshare { 154 params { 155 @out v: stringshare; 156 } 157 } 158 out_own_stringshare { 159 params { 160 @out v: stringshare @move; 161 } 162 } 163 164 return_stringshare { 165 return: stringshare; 166 } 167 return_own_stringshare { 168 return: stringshare @move; 169 } 170 171 in_string { 172 params { 173 @in str: string; 174 } 175 return: mstring @move; 176 } 177 178 in_own_string { 179 params { 180 @in str: mstring @move; 181 } 182 return: mstring @move; 183 } 184 185 return_string { 186 return: string; 187 } 188 189 return_own_string { 190 return: mstring @move; 191 } 192 193 out_string { 194 params { 195 @out str: string; 196 } 197 } 198 199 out_own_string { 200 params { 201 @out str: mstring @move; 202 } 203 } 204 205 call_in_string { 206 params { 207 @in str: string; 208 } 209 } 210 211 call_in_own_string { 212 params { 213 @in str: mstring @move; 214 } 215 } 216 217 call_return_string { 218 return: string; 219 } 220 221 call_return_own_string { 222 return: mstring @move; 223 } 224 225 call_out_string { 226 return: string; 227 } 228 229 call_out_own_string { 230 return: mstring @move; 231 } 232 233 // Stringshare virtual helpers 234 call_in_stringshare { 235 params { 236 @in str: stringshare; 237 } 238 } 239 240 call_in_own_stringshare { 241 params { 242 @in str: stringshare @move; 243 } 244 } 245 246 call_return_stringshare { 247 return: stringshare; 248 } 249 250 call_return_own_stringshare { 251 return: stringshare @move; 252 } 253 254 call_out_stringshare { 255 return: stringshare; 256 } 257 258 call_out_own_stringshare { 259 return: stringshare @move; 260 } 261 262 eina_slice_in { 263 params { 264 @in slice: slice<ubyte>; 265 } 266 return: bool; 267 } 268 269 eina_rw_slice_in { 270 params { 271 @in slice: rw_slice<ubyte>; 272 } 273 return: bool; 274 } 275 276 eina_slice_out { 277 params { 278 @out slice: slice<ubyte>; 279 } 280 return: bool; 281 } 282 283 eina_rw_slice_out { 284 params { 285 @out slice: rw_slice<ubyte>; 286 } 287 return: bool; 288 } 289 290 eina_rw_slice_inout { 291 params { 292 @inout slice: rw_slice<ubyte>; 293 } 294 return: bool; 295 } 296 297 /* 298 eina_slice_return { 299 return: slice<ubyte>; 300 } 301 302 eina_rw_slice_return { 303 return: rw_slice<ubyte>; 304 } 305 */ 306 307 eina_binbuf_in { 308 params { 309 @in binbuf: binbuf; 310 } 311 return: bool; 312 } 313 314 call_eina_binbuf_in { 315 params { 316 @in binbuf: binbuf; 317 } 318 return: bool; 319 } 320 321 eina_binbuf_in_own { 322 params { 323 @in binbuf: binbuf @move; 324 } 325 return: bool; 326 } 327 328 call_eina_binbuf_in_own { 329 params { 330 @in str: binbuf @move; 331 } 332 return: bool; 333 } 334 335 check_binbuf_in_own { 336 return: bool; 337 } 338 339 eina_binbuf_out { 340 params { 341 @out binbuf: binbuf; 342 } 343 return: bool; 344 } 345 346 call_eina_binbuf_out { 347 return: binbuf; 348 } 349 350 check_binbuf_out { 351 return: bool; 352 } 353 354 eina_binbuf_out_own { 355 params { 356 @out binbuf: binbuf @move; 357 } 358 return: bool; 359 } 360 361 call_eina_binbuf_out_own { 362 return: binbuf @move; 363 } 364 365 eina_binbuf_return { 366 return: binbuf; 367 } 368 369 call_eina_binbuf_return { 370 return: binbuf; 371 } 372 373 check_binbuf_return { 374 return: bool; 375 } 376 377 eina_binbuf_return_own { 378 return: binbuf @move; 379 } 380 381 call_eina_binbuf_return_own { 382 return: binbuf @move; 383 } 384 385 /* Eina Array */ 386 387 /* Integer */ 388 eina_array_int_in { 389 params { 390 @in arr: array<int>; 391 } 392 return: bool; 393 } 394 395 eina_array_int_in_own { 396 params { 397 @in arr: array<int> @move; // <int @move> 398 } 399 return: bool; 400 } 401 check_eina_array_int_in_own { 402 return: bool; 403 } 404 405 eina_array_int_out { 406 params { 407 @out arr: array<int>; 408 } 409 return: bool; 410 } 411 check_eina_array_int_out { 412 return: bool; 413 } 414 415 eina_array_int_out_own { 416 params { 417 @out arr: array<int> @move; // <int @move> 418 } 419 return: bool; 420 } 421 422 eina_array_int_return { 423 return: array<int>; 424 } 425 check_eina_array_int_return { 426 return: bool; 427 } 428 429 eina_array_int_return_own { 430 return: array<int> @move; // <int @move> 431 } 432 433 /* String */ 434 eina_array_str_in { 435 params { 436 @in arr: array<string>; 437 } 438 return: bool; 439 } 440 441 eina_array_str_in_own { 442 params { 443 @in arr: array<mstring @move> @move; 444 } 445 return: bool; 446 } 447 check_eina_array_str_in_own { 448 return: bool; 449 } 450 451 eina_array_str_out { 452 params { 453 @out arr: array<string>; 454 } 455 return: bool; 456 } 457 check_eina_array_str_out { 458 return: bool; 459 } 460 461 eina_array_str_out_own { 462 params { 463 @out arr: array<mstring @move> @move; 464 } 465 return: bool; 466 } 467 468 eina_array_str_return { 469 return: array<string>; 470 } 471 check_eina_array_str_return { 472 return: bool; 473 } 474 475 eina_array_str_return_own { 476 return: array<mstring @move> @move; 477 } 478 479 /* Eina_Stringshare */ 480 eina_array_strshare_in { 481 params { 482 @in arr: array<stringshare>; 483 } 484 return: bool; 485 } 486 487 eina_array_strshare_in_own { 488 params { 489 @in arr: array<stringshare @move> @move; 490 } 491 return: bool; 492 } 493 check_eina_array_strshare_in_own { 494 return: bool; 495 } 496 497 eina_array_strshare_out { 498 params { 499 @out arr: array<stringshare>; 500 } 501 return: bool; 502 } 503 check_eina_array_strshare_out { 504 return: bool; 505 } 506 507 eina_array_strshare_out_own { 508 params { 509 @out arr: array<stringshare @move> @move; 510 } 511 return: bool; 512 } 513 514 eina_array_strshare_return { 515 return: array<stringshare>; 516 } 517 check_eina_array_strshare_return { 518 return: bool; 519 } 520 521 eina_array_strshare_return_own { 522 return: array<stringshare @move> @move; 523 } 524 525 /* Object */ 526 eina_array_obj_in { 527 params { 528 @in arr: array<Dummy.Numberwrapper>; 529 } 530 return: bool; 531 } 532 533 eina_array_obj_in_own { 534 params { 535 @in arr: array<Dummy.Numberwrapper @move> @move; 536 } 537 return: bool; 538 } 539 check_eina_array_obj_in_own { 540 return: bool; 541 } 542 543 eina_array_obj_out { 544 params { 545 @out arr: array<Dummy.Numberwrapper>; 546 } 547 return: bool; 548 } 549 check_eina_array_obj_out { 550 return: bool; 551 } 552 553 eina_array_obj_out_own { 554 params { 555 @out arr: array<Dummy.Numberwrapper @move> @move; 556 } 557 return: bool; 558 } 559 560 eina_array_obj_return { 561 return: array<Dummy.Numberwrapper>; 562 } 563 check_eina_array_obj_return { 564 return: bool; 565 } 566 567 eina_array_obj_return_own { 568 return: array<Dummy.Numberwrapper @move> @move; 569 } 570 571 eina_array_obj_return_in { 572 params { 573 @in arr: array<Dummy.Numberwrapper>; 574 } 575 return: array<Dummy.Numberwrapper>; 576 } 577 578 /* Eina List */ 579 580 /* Integer */ 581 eina_list_int_in @beta { 582 params { 583 @in lst: list<int>; 584 } 585 return: bool; 586 } 587 588 eina_list_int_in_own @beta { 589 params { 590 @in lst: list<int> @move; // <int @move> 591 } 592 return: bool; 593 } 594 check_eina_list_int_in_own { 595 return: bool; 596 } 597 598 eina_list_int_out @beta { 599 params { 600 @out lst: list<int>; 601 } 602 return: bool; 603 } 604 check_eina_list_int_out { 605 return: bool; 606 } 607 608 eina_list_int_out_own @beta { 609 params { 610 @out lst: list<int> @move; // <int @move> 611 } 612 return: bool; 613 } 614 615 eina_list_int_return @beta { 616 return: list<int>; 617 } 618 check_eina_list_int_return { 619 return: bool; 620 } 621 622 eina_list_int_return_own @beta { 623 return: list<int> @move; // <int @move> 624 } 625 626 /* String */ 627 eina_list_str_in @beta { 628 params { 629 @in lst: list<string>; 630 } 631 return: bool; 632 } 633 634 eina_list_str_in_own @beta { 635 params { 636 @in lst: list<mstring @move> @move; 637 } 638 return: bool; 639 } 640 check_eina_list_str_in_own { 641 return: bool; 642 } 643 644 eina_list_str_out @beta { 645 params { 646 @out lst: list<string>; 647 } 648 return: bool; 649 } 650 check_eina_list_str_out { 651 return: bool; 652 } 653 654 eina_list_str_out_own @beta { 655 params { 656 @out lst: list<mstring @move> @move; 657 } 658 return: bool; 659 } 660 661 eina_list_str_return @beta { 662 return: list<string>; 663 } 664 check_eina_list_str_return { 665 return: bool; 666 } 667 668 eina_list_str_return_own @beta { 669 return: list<mstring @move> @move; 670 } 671 672 /* Eina_Stringshare */ 673 eina_list_strshare_in @beta { 674 params { 675 @in lst: list<stringshare>; 676 } 677 return: bool; 678 } 679 680 eina_list_strshare_in_own @beta { 681 params { 682 @in lst: list<stringshare @move> @move; 683 } 684 return: bool; 685 } 686 check_eina_list_strshare_in_own { 687 return: bool; 688 } 689 690 eina_list_strshare_out @beta { 691 params { 692 @out lst: list<stringshare>; 693 } 694 return: bool; 695 } 696 check_eina_list_strshare_out { 697 return: bool; 698 } 699 700 eina_list_strshare_out_own @beta { 701 params { 702 @out lst: list<stringshare @move> @move; 703 } 704 return: bool; 705 } 706 707 eina_list_strshare_return @beta { 708 return: list<stringshare>; 709 } 710 check_eina_list_strshare_return { 711 return: bool; 712 } 713 714 eina_list_strshare_return_own @beta { 715 return: list<stringshare @move> @move; 716 } 717 718 /* Object */ 719 eina_list_obj_in @beta { 720 params { 721 @in lst: list<Dummy.Numberwrapper>; 722 } 723 return: bool; 724 } 725 726 eina_list_obj_in_own @beta { 727 params { 728 @in lst: list<Dummy.Numberwrapper @move> @move; 729 } 730 return: bool; 731 } 732 check_eina_list_obj_in_own { 733 return: bool; 734 } 735 736 eina_list_obj_out @beta { 737 params { 738 @out lst: list<Dummy.Numberwrapper>; 739 } 740 return: bool; 741 } 742 check_eina_list_obj_out { 743 return: bool; 744 } 745 746 eina_list_obj_out_own @beta { 747 params { 748 @out lst: list<Dummy.Numberwrapper @move> @move; 749 } 750 return: bool; 751 } 752 753 eina_list_obj_return @beta { 754 return: list<Dummy.Numberwrapper>; 755 } 756 check_eina_list_obj_return { 757 return: bool; 758 } 759 760 eina_list_obj_return_own @beta { 761 return: list<Dummy.Numberwrapper @move> @move; 762 } 763 764 eina_list_obj_return_in @beta { 765 params { 766 @in lst: list<Dummy.Numberwrapper>; 767 } 768 return: list<Dummy.Numberwrapper>; 769 } 770 771 // Eina Hash // 772 773 // Integer // 774 eina_hash_int_in @beta { 775 params { 776 @in hsh: hash<int, int>; 777 } 778 return: bool; 779 } 780 781 /* 782 eina_hash_int_in_own @beta { 783 params { 784 @in hsh: hash<int, int> @move; // <, int @move> 785 } 786 return: bool; 787 } 788 check_eina_hash_int_in_own { 789 return: bool; 790 } 791 */ 792 793 eina_hash_int_out @beta { 794 params { 795 @out hsh: hash<int, int>; 796 } 797 return: bool; 798 } 799 check_eina_hash_int_out @beta { 800 return: bool; 801 } 802 803 /* 804 eina_hash_int_out_own @beta { 805 params { 806 @out hsh: hash<int, int> @move; // <, int @move> 807 } 808 return: bool; 809 } 810 check_eina_hash_int_out_own @beta { 811 return: bool; 812 } 813 */ 814 815 eina_hash_int_return @beta { 816 return: hash<int, int>; 817 } 818 check_eina_hash_int_return @beta { 819 return: bool; 820 } 821 822 /* 823 eina_hash_int_return_own @beta { 824 return: hash<int, int> @move; // <, int @move> 825 } 826 check_eina_hash_int_return_own @beta { 827 return: bool; 828 } 829 */ 830 831 // String // 832 eina_hash_str_in @beta { 833 params { 834 @in hsh: hash<string, string>; 835 } 836 return: bool; 837 } 838 839 eina_hash_str_in_own @beta { 840 params { 841 @in hsh: hash<string, mstring @move> @move; 842 } 843 return: bool; 844 } 845 check_eina_hash_str_in_own @beta { 846 return: bool; 847 } 848 849 eina_hash_str_out @beta { 850 params { 851 @out hsh: hash<string, string>; 852 } 853 return: bool; 854 } 855 check_eina_hash_str_out @beta { 856 return: bool; 857 } 858 859 eina_hash_str_out_own @beta { 860 params { 861 @out hsh: hash<string, mstring @move> @move; 862 } 863 return: bool; 864 } 865 check_eina_hash_str_out_own @beta { 866 return: bool; 867 } 868 869 eina_hash_str_return @beta { 870 return: hash<string, string>; 871 } 872 check_eina_hash_str_return @beta { 873 return: bool; 874 } 875 876 eina_hash_str_return_own @beta { 877 return: hash<string, mstring @move> @move; 878 } 879 check_eina_hash_str_return_own @beta { 880 return: bool; 881 } 882 883 // Eina_Stringshare // 884 eina_hash_strshare_in @beta { 885 params { 886 @in hsh: hash<stringshare, stringshare>; 887 } 888 return: bool; 889 } 890 891 eina_hash_strshare_in_own @beta { 892 params { 893 @in hsh: hash<stringshare, stringshare @move> @move; 894 } 895 return: bool; 896 } 897 check_eina_hash_strshare_in_own @beta { 898 return: bool; 899 } 900 901 eina_hash_strshare_out @beta { 902 params { 903 @out hsh: hash<stringshare, stringshare>; 904 } 905 return: bool; 906 } 907 check_eina_hash_strshare_out @beta { 908 return: bool; 909 } 910 911 eina_hash_strshare_out_own @beta { 912 params { 913 @out hsh: hash<stringshare, stringshare @move> @move; 914 } 915 return: bool; 916 } 917 check_eina_hash_strshare_out_own @beta { 918 return: bool; 919 } 920 921 eina_hash_strshare_return @beta { 922 return: hash<stringshare, stringshare>; 923 } 924 check_eina_hash_strshare_return @beta { 925 return: bool; 926 } 927 928 eina_hash_strshare_return_own @beta { 929 return: hash<stringshare, stringshare @move> @move; 930 } 931 check_eina_hash_strshare_return_own @beta { 932 return: bool; 933 } 934 935 // Object // 936 eina_hash_obj_in @beta { 937 params { 938 @in hsh: hash<Dummy.Numberwrapper, Dummy.Numberwrapper>; 939 @in nwk1: Dummy.Numberwrapper; 940 @in nwv1: Dummy.Numberwrapper; 941 @out nwk2: Dummy.Numberwrapper; 942 @out nwv2: Dummy.Numberwrapper; 943 } 944 return: bool; 945 } 946 947 eina_hash_obj_in_own @beta { 948 params { 949 @in hsh: hash<Dummy.Numberwrapper, Dummy.Numberwrapper @move> @move; 950 @in nwk1: Dummy.Numberwrapper; 951 @in nwv1: Dummy.Numberwrapper; 952 @out nwk2: Dummy.Numberwrapper; 953 @out nwv2: Dummy.Numberwrapper; 954 } 955 return: bool; 956 } 957 check_eina_hash_obj_in_own @beta { 958 params { 959 @in nwk1: Dummy.Numberwrapper; 960 @in nwv1: Dummy.Numberwrapper; 961 @in nwk2: Dummy.Numberwrapper; 962 @in nwv2: Dummy.Numberwrapper; 963 } 964 return: bool; 965 } 966 967 eina_hash_obj_out @beta { 968 params { 969 @out hsh: hash<Dummy.Numberwrapper, Dummy.Numberwrapper>; 970 @out nwk: Dummy.Numberwrapper; 971 @out nwv: Dummy.Numberwrapper; 972 } 973 return: bool; 974 } 975 check_eina_hash_obj_out @beta { 976 params { 977 @in nwk1: Dummy.Numberwrapper; 978 @in nwv1: Dummy.Numberwrapper; 979 @in nwk2: Dummy.Numberwrapper; 980 @in nwv2: Dummy.Numberwrapper; 981 } 982 return: bool; 983 } 984 985 eina_hash_obj_out_own @beta { 986 params { 987 @out hsh: hash<Dummy.Numberwrapper, Dummy.Numberwrapper @move> @move; 988 @out nwk: Dummy.Numberwrapper; 989 @out nwv: Dummy.Numberwrapper; 990 } 991 return: bool; 992 } 993 check_eina_hash_obj_out_own @beta { 994 return: bool; 995 } 996 997 eina_hash_obj_return @beta { 998 params { 999 @out nwk: Dummy.Numberwrapper; 1000 @out nwv: Dummy.Numberwrapper; 1001 } 1002 return: hash<Dummy.Numberwrapper, Dummy.Numberwrapper>; 1003 } 1004 check_eina_hash_obj_return @beta { 1005 params { 1006 @in nwk1: Dummy.Numberwrapper; 1007 @in nwv1: Dummy.Numberwrapper; 1008 @in nwk2: Dummy.Numberwrapper; 1009 @in nwv2: Dummy.Numberwrapper; 1010 } 1011 return: bool; 1012 } 1013 1014 eina_hash_obj_return_own @beta { 1015 params { 1016 @out nwk: Dummy.Numberwrapper; 1017 @out nwv: Dummy.Numberwrapper; 1018 } 1019 return: hash<Dummy.Numberwrapper, Dummy.Numberwrapper @move> @move; 1020 } 1021 check_eina_hash_obj_return_own @beta { 1022 return: bool; 1023 } 1024 1025 /* Eina Iterator */ 1026 1027 /* Integer */ 1028 eina_iterator_int_in { 1029 params { 1030 @in itr: iterator<int>; 1031 } 1032 return: bool; 1033 } 1034 1035 eina_iterator_int_in_own { 1036 params { 1037 @in itr: iterator<int> @move; 1038 } 1039 return: bool; 1040 } 1041 check_eina_iterator_int_in_own { 1042 return: bool; 1043 } 1044 1045 eina_iterator_int_out { 1046 params { 1047 @out itr: iterator<int>; 1048 } 1049 return: bool; 1050 } 1051 check_eina_iterator_int_out { 1052 return: bool; 1053 } 1054 1055 eina_iterator_int_out_own { 1056 params { 1057 @out itr: iterator<int> @move; 1058 } 1059 return: bool; 1060 } 1061 1062 eina_iterator_int_return { 1063 return: iterator<int>; 1064 } 1065 check_eina_iterator_int_return { 1066 return: bool; 1067 } 1068 1069 eina_iterator_int_return_own { 1070 return: iterator<int> @move; 1071 } 1072 1073 /* String */ 1074 eina_iterator_str_in { 1075 params { 1076 @in itr: iterator<string>; 1077 } 1078 return: bool; 1079 } 1080 1081 eina_iterator_str_in_own { 1082 params { 1083 @in itr: iterator<mstring> @move; 1084 } 1085 return: bool; 1086 } 1087 check_eina_iterator_str_in_own { 1088 return: bool; 1089 } 1090 1091 eina_iterator_str_out { 1092 params { 1093 @out itr: iterator<string>; 1094 } 1095 return: bool; 1096 } 1097 check_eina_iterator_str_out { 1098 return: bool; 1099 } 1100 1101 eina_iterator_str_out_own { 1102 params { 1103 @out itr: iterator<mstring> @move; 1104 } 1105 return: bool; 1106 } 1107 1108 eina_iterator_str_return { 1109 return: iterator<string>; 1110 } 1111 check_eina_iterator_str_return { 1112 return: bool; 1113 } 1114 1115 eina_iterator_str_return_own { 1116 return: iterator<mstring> @move; 1117 } 1118 1119 /* Eina_Stringshare */ 1120 eina_iterator_strshare_in { 1121 params { 1122 @in itr: iterator<stringshare>; 1123 } 1124 return: bool; 1125 } 1126 1127 eina_iterator_strshare_in_own { 1128 params { 1129 @in itr: iterator<stringshare> @move; 1130 } 1131 return: bool; 1132 } 1133 check_eina_iterator_strshare_in_own { 1134 return: bool; 1135 } 1136 1137 eina_iterator_strshare_out { 1138 params { 1139 @out itr: iterator<stringshare>; 1140 } 1141 return: bool; 1142 } 1143 check_eina_iterator_strshare_out { 1144 return: bool; 1145 } 1146 1147 eina_iterator_strshare_out_own { 1148 params { 1149 @out itr: iterator<stringshare> @move; 1150 } 1151 return: bool; 1152 } 1153 1154 eina_iterator_strshare_return { 1155 return: iterator<stringshare>; 1156 } 1157 check_eina_iterator_strshare_return { 1158 return: bool; 1159 } 1160 1161 eina_iterator_strshare_return_own { 1162 return: iterator<stringshare> @move; 1163 } 1164 1165 /* Object */ 1166 eina_iterator_obj_in { 1167 params { 1168 @in itr: iterator<Dummy.Numberwrapper>; 1169 } 1170 return: bool; 1171 } 1172 1173 eina_iterator_obj_in_own { 1174 params { 1175 @in itr: iterator<Dummy.Numberwrapper> @move; 1176 } 1177 return: bool; 1178 } 1179 check_eina_iterator_obj_in_own { 1180 return: bool; 1181 } 1182 1183 eina_iterator_obj_out { 1184 params { 1185 @out itr: iterator<Dummy.Numberwrapper>; 1186 } 1187 return: bool; 1188 } 1189 check_eina_iterator_obj_out { 1190 return: bool; 1191 } 1192 1193 eina_iterator_obj_out_own { 1194 params { 1195 @out itr: iterator<Dummy.Numberwrapper> @move; 1196 } 1197 return: bool; 1198 } 1199 1200 eina_iterator_obj_return { 1201 return: iterator<Dummy.Numberwrapper>; 1202 } 1203 check_eina_iterator_obj_return { 1204 return: bool; 1205 } 1206 1207 eina_iterator_obj_return_own { 1208 return: iterator<Dummy.Numberwrapper> @move; 1209 } 1210 1211 /* Function Pointer */ 1212 1213 set_callback { 1214 params { 1215 cb: Dummy.SimpleCb; 1216 } 1217 } 1218 1219 call_callback { 1220 params { 1221 a: int; 1222 } 1223 return: int; 1224 } 1225 1226 call_set_callback { 1227 } 1228 1229 raises_eina_error { 1230 1231 } 1232 1233 children_raise_error { 1234 1235 } 1236 call_children_raise_error { 1237 1238 } 1239 1240 error_ret_set { 1241 params { 1242 error: Eina.Error; 1243 } 1244 } 1245 1246 returns_error { 1247 return: Eina.Error; 1248 } 1249 1250 /* Eina Values */ 1251 set_value_ptr { 1252 params { 1253 value: any_value_ref; 1254 } 1255 } 1256 1257 set_value_ptr_own { 1258 params { 1259 value: any_value_ref @move; 1260 } 1261 } 1262 1263 set_value { 1264 params { 1265 value: any_value; 1266 } 1267 } 1268 1269 call_set_value { 1270 params { 1271 value: const(any_value); 1272 } 1273 } 1274 1275 get_value_ptr_own { 1276 return: any_value_ref @move; 1277 } 1278 1279 get_value_ptr { 1280 return: any_value_ref; 1281 } 1282 1283 /* Commented out due to issues regarding eolian treatment of any_value. 1284 * Somehow eolian is giving 0 as the default value when declaring the function below, 1285 * leading to compiler errors. 1286 */ 1287 /* get_value { 1288 return: any_value; 1289 } 1290 */ 1291 1292 clear_value { 1293 } 1294 1295 out_value_ptr { 1296 params { 1297 @out value: any_value_ref; 1298 } 1299 } 1300 1301 out_value_ptr_own { 1302 params { 1303 @out value: any_value_ref @move; 1304 } 1305 } 1306 1307 out_value { 1308 params { 1309 @out value: any_value; 1310 } 1311 } 1312 1313 /* Structs */ 1314 1315 struct_simple_in { 1316 params { 1317 @in simple: Dummy.StructSimple; 1318 } 1319 return: bool; 1320 } 1321 1322 /* 1323 struct_simple_ptr_in { 1324 params { 1325 @in simple: ptr(Dummy.StructSimple); 1326 } 1327 return: bool; 1328 } 1329 1330 struct_simple_ptr_in_own { 1331 params { 1332 @in simple: ptr(Dummy.StructSimple) @move; 1333 } 1334 return: Dummy.StructSimple; 1335 } 1336 */ 1337 1338 struct_simple_out { 1339 params { 1340 @out simple: Dummy.StructSimple; 1341 } 1342 return: bool; 1343 } 1344 1345 /* 1346 struct_simple_ptr_out { 1347 params { 1348 @out simple: ptr(Dummy.StructSimple); 1349 } 1350 return: Dummy.StructSimple; 1351 } 1352 1353 struct_simple_ptr_out_own { 1354 params { 1355 @out simple: ptr(Dummy.StructSimple) @move; 1356 } 1357 return: Dummy.StructSimple; 1358 } 1359 */ 1360 1361 struct_simple_return { 1362 return: Dummy.StructSimple; 1363 } 1364 1365 /* 1366 struct_simple_ptr_return { 1367 return: ptr(Dummy.StructSimple); 1368 } 1369 1370 struct_simple_ptr_return_own { 1371 return: ptr(Dummy.StructSimple) @move; 1372 } 1373 */ 1374 1375 call_struct_simple_in { 1376 params { 1377 @in simple: Dummy.StructSimple; 1378 } 1379 } 1380 1381 /* 1382 call_struct_simple_ptr_in { 1383 params { 1384 @in simple: ptr(Dummy.StructSimple); 1385 } 1386 } 1387 1388 call_struct_simple_ptr_in_own { 1389 params { 1390 @in simple: ptr(Dummy.StructSimple) @move; 1391 } 1392 } 1393 */ 1394 1395 call_struct_simple_out { 1396 params { 1397 @out simple: Dummy.StructSimple; 1398 } 1399 } 1400 1401 /* 1402 call_struct_simple_ptr_out { 1403 params { 1404 @out simple: ptr(Dummy.StructSimple); 1405 } 1406 } 1407 1408 call_struct_simple_ptr_out_own { 1409 params { 1410 @out simple: ptr(Dummy.StructSimple) @move; 1411 } 1412 } 1413 */ 1414 1415 call_struct_simple_return { 1416 return: Dummy.StructSimple; 1417 } 1418 1419 /* 1420 call_struct_simple_ptr_return { 1421 return: ptr(Dummy.StructSimple); 1422 } 1423 1424 call_struct_simple_ptr_return_own { 1425 return: ptr(Dummy.StructSimple) @move; 1426 } 1427 */ 1428 1429 struct_complex_in @beta { 1430 params { 1431 @in complex: Dummy.StructComplex; 1432 } 1433 return: bool; 1434 } 1435 1436 /* 1437 struct_complex_ptr_in @beta { 1438 params { 1439 @in complex: ptr(Dummy.StructComplex); 1440 } 1441 return: bool; 1442 } 1443 1444 struct_complex_ptr_in_own @beta { 1445 params { 1446 @in complex: ptr(Dummy.StructComplex) @move; 1447 } 1448 return: bool; 1449 } 1450 */ 1451 1452 struct_complex_out @beta { 1453 params { 1454 @out complex: Dummy.StructComplex; 1455 } 1456 return: bool; 1457 } 1458 1459 // struct_complex_ptr_out { 1460 // params { 1461 // @out complex: ptr(Dummy.StructComplex); 1462 // } 1463 // return: bool; 1464 // } 1465 // 1466 // struct_complex_ptr_out_own { 1467 // params { 1468 // @out complex: ptr(Dummy.StructComplex) @move; 1469 // } 1470 // return: bool; 1471 // } 1472 1473 struct_complex_return @beta { 1474 return: Dummy.StructComplex; 1475 } 1476 1477 // struct_complex_ptr_return { 1478 // return: ptr(Dummy.StructComplex); 1479 // } 1480 // 1481 // struct_complex_ptr_return_own { 1482 // return: ptr(Dummy.StructComplex) @move; 1483 // } 1484 1485 emit_event_with_string { 1486 params { 1487 @in data: string; 1488 } 1489 } 1490 emit_event_with_bool { 1491 params { 1492 @in data: bool; 1493 } 1494 } 1495 emit_event_with_int { 1496 params { 1497 @in data: int; 1498 } 1499 } 1500 emit_event_with_uint { 1501 params { 1502 @in data: uint; 1503 } 1504 } 1505 emit_event_with_float { 1506 params { 1507 @in data: float; 1508 } 1509 } 1510 emit_event_with_double { 1511 params { 1512 @in data: double; 1513 } 1514 } 1515 emit_event_with_obj { 1516 params { 1517 @in data: Dummy.Test_Object; 1518 } 1519 } 1520 1521 emit_event_with_error { 1522 params { 1523 @in data: Eina.Error; 1524 } 1525 } 1526 1527 emit_event_with_struct { 1528 params { 1529 @in data: Dummy.StructSimple; 1530 } 1531 } 1532 1533 emit_event_with_struct_complex @beta { 1534 params { 1535 @in data: Dummy.StructComplex; 1536 } 1537 } 1538 1539 emit_event_with_array { 1540 params { 1541 @in data: array<string>; 1542 } 1543 } 1544 1545 emit_event_with_under { 1546 } 1547 1548 append_to_strbuf { 1549 params { 1550 @in buf: strbuf; 1551 @in str: string; 1552 } 1553 } 1554 1555 call_append_to_strbuf { 1556 params { 1557 @in buf: strbuf; 1558 @in str: string; 1559 } 1560 } 1561 1562 call_format_cb { 1563 params { 1564 @in str: strbuf; 1565 @in value: const(any_value); 1566 @in func: Dummy.FormatCb; 1567 } 1568 } 1569 1570 bypass_typedef { 1571 params { 1572 @in data: Dummy.MyInt; 1573 @out receiver: Dummy.MyInt; 1574 } 1575 1576 return: Dummy.MyInt; 1577 } 1578 1579 @property multi_valued_prop { 1580 [[ A multi valued property. ]] 1581 get {} 1582 set {} 1583 values { 1584 prop1: int; [[ Dummy property's first element. ]] 1585 prop2: int; [[ Dummy property's second element. ]] 1586 } 1587 } 1588 1589 @property klass_prop @static { 1590 get {} 1591 set {} 1592 values { 1593 prop: int; 1594 } 1595 } 1596 1597 create_cmp_array_objects @static { 1598 } 1599 1600 destroy_cmp_array_objects @static { 1601 } 1602 1603 /* Futures */ 1604 1605 get_future { 1606 return: future<any_value_ref>; 1607 } 1608 1609 fulfill_promise { 1610 params { 1611 @in data: int; 1612 } 1613 } 1614 1615 reject_promise { 1616 params { 1617 @in error: Eina.Error; 1618 } 1619 } 1620 1621 /* Accessors */ 1622 clone_accessor { 1623 params { 1624 @in acc: accessor<int>; 1625 } 1626 return: accessor<int> @move; 1627 } 1628 1629 clone_accessor_own { 1630 params { 1631 @in acc: accessor<int> @move; 1632 } 1633 return: accessor<int> @move; 1634 } 1635 1636 @property setter_only { 1637 set {} 1638 values { 1639 prop: int; 1640 } 1641 } 1642 1643 get_setter_only { 1644 return: int; 1645 } 1646 1647 call_find_provider { 1648 params { 1649 @in type: const(Efl.Class); 1650 } 1651 return: Efl.Object; 1652 } 1653 1654 call_find_provider_for_iface { 1655 return: Efl.Object; 1656 } 1657 1658 mirror_value_type @beta @const { 1659 params { 1660 @in type: const(ptr(Eina.Value_Type)); 1661 } 1662 return: const(ptr(Eina.Value_Type)); 1663 } 1664 1665 @property hidden_object { 1666 get {} 1667 1668 values { 1669 obj: Efl.Object; 1670 } 1671 } 1672 @property iface_value_prop { 1673 values { 1674 prop: Dummy.Test_Iface; 1675 } 1676 } 1677 @property iface_klass_prop { 1678 set {} 1679 values { 1680 klass: Efl.Class; 1681 } 1682 } 1683 @property iface_value_from_c { 1684 get {} 1685 values { 1686 prop: Dummy.Test_Iface; 1687 } 1688 } 1689 1690 @property return_type_get_prop { 1691 get { return: Eina.Success_Flag; } 1692 set {} 1693 values { i: int; } 1694 } 1695 1696 @property return_type_set_prop { 1697 set { return: Eina.Success_Flag; } 1698 get {} 1699 values { i: int; } 1700 } 1701 1702 @property return_type_prop { 1703 get { 1704 return: Eina.Success_Flag; 1705 } 1706 set { 1707 return: Eina.Success_Flag; 1708 } 1709 values { i: int; } 1710 } 1711 1712 @property multi_value_return_type_get_prop { 1713 get { return: Eina.Success_Flag; } 1714 set {} 1715 values 1716 { 1717 i: int; 1718 j: int; 1719 } 1720 } 1721 1722 @property multi_value_return_type_set_prop { 1723 set { return: Eina.Success_Flag; } 1724 get {} 1725 values 1726 { 1727 i: int; 1728 j: int; 1729 } 1730 } 1731 1732 @property multi_value_return_type_prop { 1733 get { 1734 return: Eina.Success_Flag; 1735 } 1736 set { 1737 return: Eina.Success_Flag; 1738 } 1739 values 1740 { 1741 i: int; 1742 j: int; 1743 } 1744 } 1745} 1746 implements { 1747 Efl.Object.constructor; 1748 Efl.Object.destructor; 1749 Efl.Object.provider_find; 1750 Dummy.Test_Iface.emit_nonconflicted; 1751 Dummy.Test_Iface.iface_prop { get; set; } 1752 Dummy.Test_Iface.protected_prop { get; set; } 1753 Dummy.Test_Iface.public_getter_private_setter{ get; set; } 1754 Dummy.Test_Iface.static_prop{ get; set; } 1755 Dummy.Test_Iface.method_protected; 1756 Dummy.Test_Iface.call_method_protected; 1757 } 1758 events { 1759 evt,with,string @hot: string; 1760 evt,with,bool: bool; 1761 evt,with,int @hot: int; 1762 evt,with,uint @hot: uint; 1763 evt,with,float @hot: float; 1764 evt,with,double @hot: double; 1765 evt,with,obj @hot: Dummy.Test_Object; 1766 evt,with,error @hot: Eina.Error; 1767 evt,with,struct @hot: Dummy.StructSimple; 1768 evt,with,struct,complex @beta @hot: Dummy.StructComplex; 1769 evt,with,array @hot: const(array<string>); 1770 evt_with,under @hot: void; 1771 1772 // Extra events to test generation, but not invocation 1773 evt,with,byte: byte; 1774 evt,with,ubyte: ubyte; 1775 1776 evt,with,char: char; 1777 1778 evt,with,short: short; 1779 evt,with,ushort: ushort; 1780 1781 evt,with,llong: llong; 1782 evt,with,ullong: ullong; 1783 1784 evt,with,int8 @hot: int8; 1785 evt,with,uint8 @hot: uint8; 1786 1787 evt,with,int16 @hot: int16; 1788 evt,with,uint16 @hot: uint16; 1789 1790 evt,with,int32 @hot: int32; 1791 evt,with,uint32 @hot: uint32; 1792 1793 evt,with,int64 @hot: int64; 1794 evt,with,uint64 @hot: uint64; 1795 1796 } 1797} 1798