|
@@ -29,37 +29,6 @@ type Collection struct {
|
|
|
Modified uint64 // The unix time when the collection was last modified.
|
|
|
}
|
|
|
|
|
|
-func (c *Collection) Get(iface, property string) (dbus.Variant, *dbus.Error) {
|
|
|
- if iface != "org.freedesktop.Secret.Collection" {
|
|
|
- return dbus.Variant{}, dbus.MakeFailedError(fmt.Errorf("no such property"))
|
|
|
- }
|
|
|
- switch property {
|
|
|
- case "Label":
|
|
|
- return dbus.MakeVariant(c.Label), nil
|
|
|
- case "Locked":
|
|
|
- return dbus.MakeVariant(c.Locked), nil
|
|
|
- case "Created":
|
|
|
- return dbus.MakeVariant(c.Created), nil
|
|
|
- case "Modified":
|
|
|
- return dbus.MakeVariant(c.Modified), nil
|
|
|
- case "Items":
|
|
|
- return dbus.MakeVariant(c.Items), nil
|
|
|
- }
|
|
|
- return dbus.Variant{}, dbus.MakeFailedError(fmt.Errorf("no such property"))
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-func (c *Collection) Set(iface, property string, value dbus.Variant) *dbus.Error {
|
|
|
- if iface == "org.freedesktop.Secret.Collection" && property == "Label" {
|
|
|
- if label, ok := value.Value().(string); ok {
|
|
|
- c.Label = label
|
|
|
- return nil
|
|
|
- }
|
|
|
- return dbus.MakeFailedError(fmt.Errorf("invalid type"))
|
|
|
- }
|
|
|
- return dbus.MakeFailedError(fmt.Errorf("no such property"))
|
|
|
-}
|
|
|
-
|
|
|
func (c *Collection) GetAll(iface string) (map[string]dbus.Variant, *dbus.Error) {
|
|
|
if iface == "org.freedesktop.Secret.Collection" {
|
|
|
return map[string]dbus.Variant{
|
|
@@ -148,3 +117,43 @@ func (c *Collection) CreateItem(props map[string]dbus.Variant, secret SecretStru
|
|
|
|
|
|
return path, dbus.ObjectPath("/"), nil
|
|
|
}
|
|
|
+
|
|
|
+// implementing method to read the object property
|
|
|
+func (c *Collection) Get(iface, property string) (dbus.Variant, *dbus.Error) {
|
|
|
+ if iface != "org/freedesktop/secret/service" {
|
|
|
+ return dbus.Variant{}, dbus.MakeFailedError(dbus.ErrMsgUnknownInterface)
|
|
|
+ }
|
|
|
+ switch property {
|
|
|
+ case "Items":
|
|
|
+ return dbus.MakeVariant(c.Items), nil
|
|
|
+ case "Label":
|
|
|
+ return dbus.MakeVariant(c.Label), nil
|
|
|
+ case "Locked":
|
|
|
+ return dbus.MakeVariant(c.Locked), nil
|
|
|
+ case "Created":
|
|
|
+ return dbus.MakeVariant(c.Created), nil
|
|
|
+ case "Modified":
|
|
|
+ return dbus.MakeVariant(c.Modified), nil
|
|
|
+ default:
|
|
|
+ return dbus.Variant{}, dbus.MakeFailedError(dbus.ErrMsgUnknownMethod)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// implementing method to read the object property
|
|
|
+func (c *Collection) Set(iface, property string, value dbus.Variant) *dbus.Error {
|
|
|
+ if iface != "org/freedesktop/secret/service" {
|
|
|
+ return dbus.MakeFailedError(dbus.ErrMsgUnknownInterface)
|
|
|
+ }
|
|
|
+ switch property {
|
|
|
+ case "Label":
|
|
|
+ label, ok := value.Value().(string)
|
|
|
+ if !ok {
|
|
|
+ return dbus.MakeFailedError(dbus.ErrMsgInvalidArg)
|
|
|
+ }
|
|
|
+ c.Label = label
|
|
|
+ return nil
|
|
|
+ default:
|
|
|
+ return dbus.MakeFailedError(dbus.ErrMsgUnknownMethod)
|
|
|
+ }
|
|
|
+
|
|
|
+}
|