- Timestamp:
- 03/18/08 18:09:49 (9 months ago)
- Location:
- lang/c/partty/trunk/src
- Files:
-
- 4 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/c/partty/trunk/src/cmd_host.cc
r7867 r8076 57 57 << " -w <oparation password> password to operate the session\n" 58 58 << " -r <view-only password> password to view the session\n" 59 << " -k disable all gust operation regardless of operation password\n" 59 60 << " -c <lock character> control key to lock guest operation (default: ']')\n" 60 61 << "\n" … … 112 113 std::string writable_password; 113 114 std::string readonly_password; 115 bool view_only; 114 116 char lock_char = ']'; 115 117 bool session_name_set; … … 131 133 kz.on("-w", "--password", Accept::String(writable_password), writable_password_set); 132 134 kz.on("-r", "--view-only", Accept::String(readonly_password), readonly_password_set); 135 kz.on("-k", "--locked", Accept::Boolean(view_only)); 133 136 kz.on("-c", "--lock", Accept::Character(lock_char), lock_char_set); 134 137 kz.on("-h", "--help", Accept::Action(usage_action())); … … 243 246 Partty::Host::config_t config(ssock, info); 244 247 config.lock_code = lock_char - 'a' + 1;; 248 config.view_only = view_only; 245 249 Partty::Host host(config); 246 250 if( argc > 0 ) { -
lang/c/partty/trunk/src/host.cc
r7867 r8076 71 71 server(config.server_socket), 72 72 m_lock_code(config.lock_code), m_locking(false), 73 m_view_only(config.view_only), 73 74 m_info(config.info) {} 74 75 … … 223 224 for(const char *p=shared_buffer, *p_end=p+len; p != p_end; ++p) { 224 225 if(*p == m_lock_code) { 225 m_locking = !m_locking; 226 if(m_lock_code) { 227 m_lock_code = false; 228 std::cout << " *unlocked* " << std::flush; 229 } else { 230 m_lock_code = true; 231 std::cout << " *locked* " << std::flush; 232 } 226 233 } 227 234 } … … 237 244 else { throw io_error("server connection is broken"); } 238 245 } else if( len == 0 ) { throw io_end_error("server connection closed"); } 239 // ロック中ならServerからの入力は捨てる240 if( m_ locking ) { return 0; } // XXX Telnetの返答も無視している246 // view_onlyモードまたはロック中ならServerからの入力は捨てる 247 if( m_view_only || m_locking ) { return 0; } // XXX Telnetの返答も無視している 241 248 // Telnetフィルタ 242 249 m_telnet.recv(shared_buffer, len); -
lang/c/partty/trunk/src/host.h
r7867 r8076 47 47 bool m_locking; 48 48 49 bool m_view_only; 50 49 51 session_info_t m_info; 50 52 private: -
lang/c/partty/trunk/src/partty.h
r7867 r8076 295 295 const session_info_ref_t& info_) : 296 296 lock_code(0), 297 view_only(false), 297 298 server_socket(_server_socket), 298 299 info(info_) {} 299 300 public: 300 301 int lock_code; 302 bool view_only; 301 303 private: 302 304 int server_socket;
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)