mono / dbus-sharp

DBus Sharp
http://mono.github.com/dbus-sharp
MIT License
77 stars 59 forks source link

interface extending Properties could call Properties methods in 0.7, but not 0.8 #34

Open smcv opened 10 years ago

smcv commented 10 years ago

If I have this code:

[Interface("org.freedesktop.hostname1")]
interface IHostname1 : Introspectable, Properties
{
    void SetHostname (string name, bool userInteraction);
    void SetStaticHostname (string name, bool userInteraction);
    void SetPrettyHostname (string name, bool userInteraction);
    void SetIconName (string name, bool userInteraction);
    void SetChassis (string name, bool userInteraction);

    string Hostname { get; }
    string StaticHostname { get; }
    string PrettyHostname { get; }
    string IconName { get; }
    string Chassis { get; }
}

and compile it against dbus-sharp 0.7 on Debian 7, I can do this to get an org.freedesktop.DBus.Properties.GetAll call:

IHostname1 hostnamed = Bus.System.GetObject<IHostname1>(HOSTNAME1_NAME, HOSTNAME1_PATH);
IDictionary<string,object> asv;
asv = hostnamed.GetAll (HOSTNAME1_IFACE);

Under 0.8 or git master, this tries to call org.freedesktop.hostname1.GetAll which doesn't exist. (Or am I meant to do a separate GetObject call for the Properties interface to achieve that?)