export enum ServiceAudience { /** * No flags. The service is not available to anyone. * When used for a filtered view, it means apply no filters (all services are available). */ none = 0x0, /** * Services are available for clients running in the same process. * They will not be available from other processes (e.g. ServiceHub services). * A brokered service that includes this flag may still be *indirectly* exposed to LiveShareGuest * by way of another brokered service that is exposed to LiveShareGuest that is proffered from this process. */ process = 0x1, /** * The service is available for clients that support this process (e.g. ServiceHub services). These always run on the same machine and user account. * It does *not* include processes connected over Live Share or a Visual Studio Online Environment connection, even if these processes are running on the same machine. * A brokered service that includes this flag may still be *indirectly* exposed to * by way of another brokered service that is exposed to that is proffered from this machine. */ local = process | 0x2, /** * When the service is running on a Live Share host it is available for Live Share guests, * which may or may not be using the same user account as the host. * @remarks * Host services are available for remote Live Share clients running under *any* user account. * Any necessary authorization checks are the responsibility of the service. */ liveShareGuest = 0x400, /** * The service is available for local processes as well as clients of Visual Studio Online environments and all Live Share guests (including untrusted strangers). * @remarks * Host services are available for all clients (owner or guest), whether they are local, remote over Live Share or remote over an exclusive connection. */ allClientsIncludingGuests = local | liveShareGuest, }