Class AssetFeature
Features are used to restrict how Assets should be used. Features are not always signed by the owner, rather, they are signed by the same Identity as the associated Asset.
Assembly: SmartcryptProtocol.dll
Syntax
public sealed class AssetFeature : BasePdu<AssetFeature>, IEquatable<AssetFeature>
Constructors
AssetFeature(AssetFeature)
Declaration
public AssetFeature([NotNull] AssetFeature other)
Parameters
Fields
CompatibilityMandatory
The application is not permitted to operate in this asset until it is upgraded. It must notify it's user of this condition and not participate in any transactions within this asset. It must not even submit it's PID for access.
Declaration
public const string CompatibilityMandatory = "Mandatory"
Field Value
CompatibilityOptional
The application is allowed to ignore this feature and operate as usual. It will not notify it's user of this condition; incompatibility is silently ignored.
Declaration
public const string CompatibilityOptional = "Optional"
Field Value
CompatibilityReadOnly
The application is not permitted to perform any create/update/delete operations (outbound tunnel activity) on this asset, but may perform read/decrypt operations (inbound tunnel activity) as usual. It must notify it's user of this condition. If this application (user) is an owner of the asset, it must not attempt to engage in owner activity, i.e. must not manipulate metadata. This is the default compatibility mode.
Declaration
public const string CompatibilityReadOnly = "ReadOnly"
Field Value
CompatibilitySuggested
The application is allowed to ignore this feature and operate as usual. However, it must notify it's user that a feature selected by the moderator is not understood and an upgrade of the application is suggested. If this user is the owner, the suggestion still applies.
Declaration
public const string CompatibilitySuggested = "Suggested"
Field Value
NameNonRotatable
Indicates that the asset must not be rotated. No new AssetKeys may be issued, even if users are removed from the asset.
Declaration
public const string NameNonRotatable = "non-rotatable"
Field Value
record
Declaration
[NotNull]
public readonly AssetFeature.Record record
Field Value
Properties
assetid
Declaration
public long assetid { get; set; }
Property Value
created_at
Declaration
[CanBeNull]
public string created_at { get; set; }
Property Value
homeServer
Declaration
[CanBeNull]
public string homeServer { get; set; }
Property Value
id
Declaration
public long id { get; set; }
Property Value
ownerid
Declaration
public long ownerid { get; set; }
Property Value
signature
Declaration
[CanBeNull]
public string signature { get; set; }
Property Value
updated_at
Declaration
[CanBeNull]
public string updated_at { get; set; }
Property Value
Methods
ToJson(Boolean)
Declaration
protected override string ToJson(bool sending)
Parameters
Type |
Name |
Description |
Boolean |
sending |
|
Returns
Overrides
PKWARE.Smartcrypt.Protocol.BasePdu<PKWARE.Smartcrypt.Protocol.AssetFeature>.ToJson(System.Boolean)
Implements