POE :: רכיב :: Progggableבכיתה בסיס ליצירת רכיבי POE מופעלת תוספים | |
הורד עכשיו |
POE :: רכיב :: Progggable דירוג וסיכום
פרסומת
- רישיון:
- Perl Artistic License
- מחיר:
- FREE
- שם המפרסם:
- Chris Williams
- אתר האינטרנט של המוציא לאור:
- http://search.cpan.org/~bingos/
POE :: רכיב :: Progggable תגים
POE :: רכיב :: Progggable תיאור
בכיתה בסיס ליצירת רכיבי POE מופעלת תוספים POE :: רכיב :: Supergable הוא מודול Perl ליצירת תוספים מופעלת רכיבי POE. זהו נמל גנרי של POE :: רכיב :: מערכת ה- IRC של ה- IRC.IF שלך מרכיב שיגור אירועים לפגישות רשומות של POE, אז POE :: רכיב :: Progggable עשוי להיות התאמה טובה עבור you.Basic השימוש יהיה כרוך subclassing poe :: רכיב :: Progggable, ולאחר מכן יתר על המידה _pluggable_event () בכל מקום שבו אתה שולח אירועים מ.Users של הרכיב שלך יכול ואז לטעון plugins באמצעות שיטות תוסף שסופקו לטפל באירועים שנוצרו על ידי רכיב.אתה עשוי גם להשתמש במטפלים סגנון תוסף בתוך הרכיב שלך כמו _pluggable_process () ינסה לעבד כל אירועים עם שיחות שיטה מקומית תחילה. ערך ההחזרה של מטפלים אלה יש את אותה משמעות כמו ערך ההחזרה של "רגיל" plugin handlers.synopsis # רכיב פו פשוט כי שולח אירועי פינג לאירועים רשומים # כל 30 שניות. דוגמה מפותלת למדי להיות כנה. {החבילה simplepoco; השתמש קפדנית; השתמש בסיס QW (POE :: רכיב :: Progggable); השתמש POE; השתמש POE :: רכיב :: Supplgable :: קבועים QW (: הכל); Sub Spawn {שלי ($ החבילה,% opts) = @_; $ opts {lc $ _} = מחק $ opts {$ _} עבור מפתחות% opts; $ שלי עצמי = יברך opts, $ החבילה; $ עצמי -> _ playggable_init (קידומת => 'SimplePoco_'); POE :: מושב-> צור (אובייקטים = => , Step => $ עצמי,); להחזיר עצמית $; } Sub Shutdown {שלי ($ עצמי) = @_; $ POE_KERNEL-> POST ($ עצמי -> {siss_id}, 'כיבוי'); } SUB _PLAggable_Event {שלי ($ עצמי) = @_; $ POE_KERNEL-> POST ($ עצמי -> {piss_id}, '__Send_event', @_); } sub _start {שלי ($ ליבה, $ עצמי) = @_ ; $ עצמי -> {piss_id} = $ _ -> ID (); אם ($ עצמי -> {כינוי}) {$ kernel-> Alias_set ($ עצמי -> {כינוי}); } אחר {$ kernel-> refcount_increment ($ עצמית -> {miss_id}, __package__); } $ Kernel-> עיכוב (_send_ping => $ עצמי -> {זמן} || 300); לַחֲזוֹר; } תת _shutdown {שלי ($ Kernel, $ עצמי) = @_ ; $ עצמי -> _ placegable_destroy (); $ kernel-> alack_remove_all (); $ עצמי-> Alias_Remove ($ _) עבור $ kernel-> Alias_list (); $ kernel-> refcount_decilement ($ עצמי -> {siss_id}, __package__) אם! $ עצמן -> {כינוי}; $ kernel-> refcount_decilement ($ _, __package__) עבור מפתחות% {$ self -> {sessions}}; לַחֲזוֹר; } Sub Register {שלי ($ Kernel, $ Sender, $ עצמי) = @_ ; שלי $ Sender_ID = $ Sender-> ID (); $ עצמי -> {sessions} -> {$ sender_id} + +; אם ($ עצמן -> {הפעלות} -> {$ sender_id} == 1) {$ kernel-> refcount_increment ($ sender_id, __package__); $ kernel-> תשואה (__ send_event => $ עצמי -> {_ pluggable_prefix}. 'רשום', $ Sender_ID); } חזרה; } Sub Unregister {שלי ($ ליבה, $ השולח, $ עצמי) = @_ ; שלי $ Sender_ID = $ Sender-> ID (); שלי $ רשום = מחק $ עצמית -> {sessions} -> {$ sender_id}; אם ($ שיא) {$ kernel-> refcount_decilment ($ sender_id, __package__); $ kernel-> תשואה (__ send_event => $ עצמי -> {_ placegable_prefix}. לא רשום ', $ Sender_ID); } חזרה; } תת __Send_event {שלי ($ ליבה, $ עצמי, $ אירוע, @Args) = @_ ; Return 1 אם $ עצמי -> _ placegable_process (ping => $ אירוע, (@args)) == plugin_eat_all; $ KERNEL-> POST ($ _, $ אירוע, @args) עבור מפתחות% {$ עצמי -> {הפעלות}; } תת _send_ping {שלי ($ Kernel, $ עצמי) = @_ ; האירוע שלי $ = $ עצמית -> {_ placegable_prefix}. "פינג"; שלי @Args = ('להתעורר מנומנם'); $ kernel-> תשואה (__ send_event => $ אירוע, @args); $ kernel-> עיכוב (_send_ping => $ עצמי -> {זמן} || 300); לַחֲזוֹר; }} השתמש ב- POE; $ CLOSGGLABLE = SIMPLEPOC-> Spawn (Alias => 'Poliscable', זמן => 30,); POE :: מושב-> יצירת (Package_states => ,]); $ poe_kernel-> הפעלה (); תת _start {שלי ($ ליבה, $ ערימה) = @_ ; $ kernel-> פוסט (pluggable => 'הרשמה'); לַחֲזוֹר; } sub simplepoco_registered {print "yay, נרשמו "חזור;} sub simplepoco_ping {שלי (שולח $, $ טקסט) = @_ ; הדפסה" קבל '$' טקסט 'מ ", $ Sender-> ID" "חזור;} דרישות: · פרל
POE :: רכיב :: Progggable תוכנה קשורה