UKKQueueを利用してkqueue(2)をつかう                                                                   Cocoa勉強会 2004.10.30(土) 木村 渡 k...
Upcoming SlideShare
Loading in …5
×

UKKQueueを利用してkqueue(2)をつかう

652 views

Published on

2004-10-30, Cocoa勉強会

Cocoaアプリケーションでkqueue(2)を使うためのライブラリの紹介。

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
652
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

UKKQueueを利用してkqueue(2)をつかう

  1. 1. UKKQueueを利用してkqueue(2)をつかう Cocoa勉強会 2004.10.30(土) 木村 渡 kqueue/keventはPantherから導入された(FreeBSDでは4.1-RELEASEから)仕組みで、ファイル記述子(ファイル、ソケット、デバイスとか)の入出力などを監視することができる。 UKKQueueは、Uli Kusterer氏が作成したkqueue/keventのCocoaラッパーで、ファイルの監視に特化したもの。UKKQueueは次のURLで公開されている。 http://www.zathras.de/angelweb/sourcecode.htm#UKKQueueUKKQueueの使いかた UKKQueueのインスタンスを作成し、以下のメソッド利用して監視対象の登録/解除を行う。 -[UKKQueue addPathToQueue:] -[UKKQueue addPathToQueue:notifyingAbout:] 監視対象ファイルパスを指定。後者のメソッドでは、監視したいイベントを指定できる(ファイルへの 書き込み、ファイルの削除など)。 -[UKKQueue removePathFromQueue:] 監視をやめる。 監視対象としたファイルに書き込みなどが行われたとき、-[NSWorkspace notificationCenter]を通して通知がされる。なので、イベントを知りたいオブジェクトは-[NSWorkspace notificationCenter]にオブザーバとして登録しておく。サンプルについて ウィンドウに表示したNSTextViewの内容を一時ファイルに保存し、他のアプリケーションで開く。外部アプリケーションでファイルを保存すると、その内容をNSTextViewに読み込む。kqueueの弱点 サンプルでエディタをTextEditにすると、思うように動作しない。理由は不明。参考情報 http://developer.apple.com/samplecode/FileNotification/FileNotification.html Appleによるkqueue/keventを利用してフォルダを監視するサンプル。論文もついてる。 ∼ ∼ poll(2)/select(2)との比較や、サンプルプログラムでの解説など。

×