ACE笔记(5) -ACE_Reactor 机制下的其他事件触发器

 

检查控制台的输入动作

 
控制台事件 handle : ACE_STDIN
 
当用户输入回车时会触发信号,执行 handle_signal 方法
 
通过 ACE_OS :: read ( ACE_STDIN , buffer , sizeof buffer )方法读取用户的输入
 
检查目录是否发生变化
 
 
目录改变事件 handle :  
 
int change_notification_flags = FILE_NOTIFY_CHANGE_FILE_NAME ;
   
this -> handle_ = ACE_TEXT_FindFirstChangeNotification ( directory ,   // pointer to name of directory to watch
                                                         FALSE
, // flag for monitoring directory or directory tree
                                                         change_notification_flags
// filter conditions to watch for
                                                         
);
 
事件触发后,如想继续保持触发,须调用:: FindNextChangeNotification ( this -> handle_ );方法
 
如下关闭触发,应调用:: FindCloseChangeNotification ( this -> handle_ );方法
 
 
目录内容发生改变时会触发信号,执行 handle_singnal 方法

检查注册表项是否发生了变化
 
注册表项改变事件 HANDLE
 
(:: RegNotifyChangeKeyValue ( this -> context_ . key (), // handle of key to watch
                                 FALSE
, // flag for subkey notification
                                 REG_NOTIFY_CHANGE_NAME
, // changes to be reported
                                 
this -> event_ . handle (), // handle of signaled event
                                 TRUE
// flag for asynchronous reporting
                                 
)
 
涉及了下面这个主要类:
 
ACE_Registry :: Naming_Context context_ ;
 
其提供有
  bind_new_context
( temp_context_name , temp_context );   新建一个注册表项                                
  unbind_context
( temp_context_name );删除一个注册表项
 
方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值