#### [Abblix\.SharedSignals](https://www.abblix.com/en/docs/api/abblix-sharedsignals 'index')
### [Abblix\.SharedSignals\.Events](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Events 'Abblix\.SharedSignals\.Events')

## SharedSignalsEventTypes Class

The event type URIs of the events SSF 1\.0 itself defines \- the framework's own signals about
a stream, as opposed to the CAEP and RISC events that ride on it\.

```csharp
public static class SharedSignalsEventTypes
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → SharedSignalsEventTypes
### Fields

## SharedSignalsEventTypes\.StreamUpdated Field {#Abblix.SharedSignals.Events.SharedSignalsEventTypes.StreamUpdated}

The Stream Updated Event a transmitter must send when it changes a stream's status on its
own \- before stopping the stream on a pause or disable, and upon re\-enabling it
\(SSF 1\.0 Section 8\.1\.5\)\.

```csharp
public const string StreamUpdated = "https://schemas.openid.net/secevent/ssf/event-type/stream-updated";
```

#### Field Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## SharedSignalsEventTypes\.Verification Field {#Abblix.SharedSignals.Events.SharedSignalsEventTypes.Verification}

The Verification Event a receiver requests to confirm a stream is configured correctly,
end to end \(SSF 1\.0 Section 8\.1\.4\.1\)\.

```csharp
public const string Verification = "https://schemas.openid.net/secevent/ssf/event-type/verification";
```

#### Field Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
### Methods

## SharedSignalsEventTypes\.RegisterSharedSignalsEvents\(this EventTypeRegistry\) Method {#Abblix.SharedSignals.Events.SharedSignalsEventTypes.RegisterSharedSignalsEvents(thisAbblix.SecurityEvents.Events.EventTypeRegistry)}

Registers the two event types Shared Signals defines for itself, with their payload models\.

```csharp
public static Abblix.SecurityEvents.Events.EventTypeRegistry RegisterSharedSignalsEvents(this Abblix.SecurityEvents.Events.EventTypeRegistry registry);
```
#### Parameters

###### `registry` [Abblix\.SecurityEvents\.Events\.EventTypeRegistry](https://learn.microsoft.com/en-us/dotnet/api/abblix.securityevents.events.eventtyperegistry 'Abblix\.SecurityEvents\.Events\.EventTypeRegistry') {#Abblix.SharedSignals.Events.SharedSignalsEventTypes.RegisterSharedSignalsEvents(thisAbblix.SecurityEvents.Events.EventTypeRegistry).registry}

The registry events deserialize through\.

#### Returns
[Abblix\.SecurityEvents\.Events\.EventTypeRegistry](https://learn.microsoft.com/en-us/dotnet/api/abblix.securityevents.events.eventtyperegistry 'Abblix\.SecurityEvents\.Events\.EventTypeRegistry')

### Remarks
Both roles call this, because both need it: the transmitter mints a verification and a
stream\-updated event, and the receiver is expected to act on them\. Left unregistered they
still validate and still reach a sink \- as an untyped payload, so the branch a host wrote
for them never matches and nothing anywhere says why\. A receiver would simply wait on a
stream it had been told was paused\.

Registering the same type twice is an error the registry reports, and one host running both
roles would do exactly that, so a mapping already in place is left alone. A DIFFERENT
mapping under one of these names is not smoothed over: that is a host overriding a
framework event, and it keeps the registry's own refusal.
