public bool CapabilitiesSupported(ConnectionCapabilities mask) { if (IsMaskValid(mask)) { return((this.capabilities_mask & mask) == mask); } return(false); }
protected virtual bool IsMaskValid(ConnectionCapabilities mask) { const ConnectionCapabilities max_caps = ConnectionCapabilities.DBusTube | ConnectionCapabilities.StreamTube | ConnectionCapabilities.FileTransfer; if (mask <= ConnectionCapabilities.None || mask > max_caps) { return(false); } return(true); }
public Connection(string bus_name, string object_path, string account_id, string account_path, ConnectionCapabilities capabilities_mask) : this(bus_name, object_path, account_id, account_path) { if (!CapabilitiesSupported(capabilities_mask)) { throw new NotSupportedException("Capabilities not supported"); } //HACK reset in case there was a crash //capabilities.SetSelfCapabilities (new Dictionary <string, object> [0] ); }
private void LoadCapabilities() { //FIXME hardcoding use of jabber connections due to Mono bug // https://bugzilla.novell.com/show_bug.cgi?id=481687 // should really being using IRequests.RequestableChannelClasses // property, but the IConvertible object returned by dbus-sharp cannot be unboxed string protocol = conn.GetProtocol(); if (protocol != null && protocol.Equals("jabber")) { capabilities_mask = ConnectionCapabilities.DBusTube | ConnectionCapabilities.FileTransfer | ConnectionCapabilities.StreamTube; } }
private void SetCapability(ConnectionCapabilities flag) => _capabilities |= flag;
private bool HasCapability(ConnectionCapabilities flag) => (_capabilities & flag) != 0;
public Connection(Account account, ConnectionCapabilities capabilities_mask) : this(account.BusName, account.ObjectPath, account.AccountId, account.AccountObjectPath, capabilities_mask) { }
public Connection(string bus_name, string object_path, string account_id, string account_path, ConnectionCapabilities capabilities_mask) : this(bus_name, object_path, account_id, account_path) { if (!CapabilitiesSupported (capabilities_mask)) { throw new NotSupportedException ("Capabilities not supported"); } //HACK reset in case there was a crash //capabilities.SetSelfCapabilities (new Dictionary <string, object> [0] ); }