2011-06-17 5 views
1

Je travaille sur un programme de réseau et j'ai ce code dans mon pool de threadsunsigned char à enum

unsigned char type = pdata[0]; 
Packet *packet = m_packetFactory->createInstance(type); 

CreateInstance prendre un type ENUM à la caisse un paquet basé sur la variable ENUM;

client utilise java et sérialiser le premier octet comme celui-ci

final byte LOGIN_REQUEST = 1; 
. 
. 
bBuffer.put(LOGIN_REQUEST); 

Comment puis-je obtenir cela dans ENUM de type je peux passer que dans createInstance method..Thanks à l'avance ..

+1

Quel est le problème avec le typecast? –

Répondre

3

Si vous êtes sûr que les données sont valides, il suffit de les convertir au type enum:

enum MyEnum{ 
    EXAMPLE_1 = 0, 
    ... 
}; 

char type = 0; 
MyEnum etype = static_cast<MyEnum>(type);