From: Kouhei S. <ko...@co...> - 2004-10-17 12:24:36
|
須藤です. In <200...@hi...> "Re: [ruby-gnome2-devel-ja] Maintainer wanted" on Sun, 17 Oct 2004 20:46:20 +0900, Masao Mutoh <mu...@hi...> wrote: > どこでRubyのオブジェクトをアロケートするか、どこでCの構造体 > をアロケートするか、というところが問題の焦点ということですよね。 > > であれば、そもそもPrintConfig.newの中から別のRubyメソッドを > 呼び出すような実装に*しなければ*良いのではないでしょうか。 > > うまく説明できないのでコードを示します。 (snip) > config = gnome_print_config_from_string(RVAL2CSTR(string), > NUM2UINT(flags)); > G_INITIALIZE(self, config); (snip) > これならば、GnomeConfig.newすると、 > (1) Class.newでGnome::PrintConfigを作る(けど中身なし) > (2) Class.newを#initializeで初期化する. > #initializeでgnome_print_from_string()でアロケートした > GnomePrintCofnigを返し、それを(1)で作ったGnome::PrintConfig > に割り当てる なるほど. 確かにこれだと#initializeでいけますね. ということで,そのようにしました. # 知らなかった. ## と思ったらrbgp-gnome-print-{config,job}.cで知らないうちに ## 同じようなことをやっていたのか... |