Ejemplo n.º 1
0
        public bool CapabilitiesSupported(ConnectionCapabilities mask)
        {
            if (IsMaskValid(mask))
            {
                return((this.capabilities_mask & mask) == mask);
            }

            return(false);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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] );
        }
Ejemplo n.º 4
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;
            }
        }
Ejemplo n.º 5
0
 private void SetCapability(ConnectionCapabilities flag) => _capabilities |= flag;
Ejemplo n.º 6
0
 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] );
        }
Ejemplo n.º 9
0
 public Connection(Account account, ConnectionCapabilities capabilities_mask) : this(account.BusName, account.ObjectPath, account.AccountId, account.AccountObjectPath, capabilities_mask)
 {
 }