remconserverpanic.h File Reference

KRemConClientPanicCat

const TLitC< sizeof(L"RemConClient")/2 >KRemConClientPanicCat[static]

Panic category used by Rem Con server to panic the client.

Enum TRemConClientPanic

Panic codes used by Rem Con server to panic the client.

EnumeratorValueDescription
ERemConClientPanicIllegalIpc0

The client side has passed an illegal IPC value

ERemConClientPanicAlreadyConnectionOriented1

The client is already connection-oriented.

ERemConClientPanicNotConnectionOriented2

The client has called GoConnectionless, ConnectBearer or DisconnectBearer when the session is not connection-oriented.

ERemConClientPanicBearerPluginIncorrectInterface3

The client called GoConnectionOriented with an unknown bearer UID. The given UID is not a known implementation of the bearer interface.

ERemConClientPanicSendAlreadyOutstanding4

The client requested Send when there was already a Send outstanding on this session.

ERemConClientPanicReceiveAlreadyOutstanding5

The client requested Receive when there was already a Receive outstanding on this session.

ERemConClientPanicClientTypeNotSet6

The client has not had their type set.

ERemConClientPanicClientTypeAlreadySet7

The client has attempted to set the type of the session when it has already been set.

ERemConClientPanicBadType8

A client has used a bad or wrong session type in one of the following ways: (a) The client has tried to set the type of the session to a bad type (neither controller nor target). (b) The client (not of controller type) has called GoConnectionOriented, GoConnectionless, ConnectBearer, ConnectBearerCancel, DisconnectBearer or DisconnectBearerCancel.

ERemConClientPanicTwoTargetSessionsInOneProcess9

A client tried to open a target session when there is already one in that client process.

This is no longer an illegal condition and so the panic will never be raised.

ERemConClientPanicBadDescriptor10

A badly-formed descriptor or other lump of data was sent from the client side.

ERemConClientPanicConnectionsNotificationAlreadyOutstanding11

The client requested NotifyConnectionStatusChange when there was already a NotifyConnectionStatusChange outstanding on this session.

ERemConClientPanicBearerControlOutstanding12
The client has committed one of a number of abuses of the ConnectBearer/DisconnectBearer interface. With respect to Send, Receive, ConnectBearer and DisconnectBearer messages, the following is a table of the legal states of a session (- = not outstanding, X = outstanding): Send Receive Connect Disconnect
  • - - - X - - -

  • X - -

  • - X -

  • - - X X X - - X - X -

  • X X - X X X -

  • X - X In other words, any combination of the four is legal except having a DisconnectBearer outstanding at the same time as either a Send or a ConnectBearer. In addition, the client cannot call GoConnectionOriented or GoConnectionless while there's a Send, ConnectBearer or DisconnectBearer outstanding. This code is also used to error attempts to post a ConnectBearer or DisconnectBearer request which is already outstanding. This is all in the interests of tying the legal client side behaviour to a minimum of sensible operations.

ERemConClientPanicNoCommand13

The client has tried to send a response to a command which does not exist in the logs as having been delivered to that client.

This is no longer an illegal condition and so the panic will never be raised.

ERemConClientPanicRegisterInterestedAPIsInNonTargetSession14

RRemConTarget::RegisterInterestedAPIs(...) is called on an undefined session). This doesn't make any sense because the server only filters incoming commands for the target sessions.

The client is paniced for misusing this API.

This panic

ERemConClientPanicCorruptSupportedOperations15

They client side has sent a corrupt set of supported operation ids.

ERemConClientPanicRegisterInterestedOperationsInNonTargetSession16

RRemConTarget::RegisterInterestedOperations(...) is called on a non-target session (i.e. controller or undefined session). Detailed information about the controller operation support is not required by RemCon.

The client is paniced for misusing this API.

ERemConClientPanicClientFeaturesNotSet17

The client has not had their features set.

ERemConClientPanicClientInterfaceAlreadyRegistered18

The client has tried to register the same interface in multiple sessions.

ERemConClientPanicPlayerInfoAlreadySet19

The client has tried to register different player information in multiple sessions. For example, this can happen if an application directly using the RemCon client side interfaces also uses another component that itself uses the RemCon client interfaces, such as Qt Key Capture.

ERemConClientPanicGetConnectionsFault20

This panic code indicates a programming error in RRemCon::GetConnections.