1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.mitosis.service.protocol.codec;
21
22
23 import java.nio.charset.Charset;
24 import java.nio.charset.CharsetDecoder;
25
26 import org.apache.mina.common.ByteBuffer;
27 import org.apache.mina.common.IoSession;
28 import org.apache.mina.filter.codec.ProtocolDecoderOutput;
29 import org.apache.directory.mitosis.service.protocol.Constants;
30 import org.apache.directory.mitosis.service.protocol.message.BaseMessage;
31 import org.apache.directory.mitosis.service.protocol.message.LoginMessage;
32 import org.apache.directory.server.schema.registries.Registries;
33
34
35 public class LoginMessageDecoder extends BaseMessageDecoder
36 {
37 private final CharsetDecoder utf8decoder;
38
39
40 public LoginMessageDecoder()
41 {
42 super( Constants.LOGIN, 0, 32 );
43 utf8decoder = Charset.forName( "UTF-8" ).newDecoder();
44 }
45
46
47 protected BaseMessage decodeBody( Registries registries, int sequence, int bodyLength, ByteBuffer in ) throws Exception
48 {
49 return new LoginMessage( sequence, in.getString( utf8decoder ) );
50 }
51
52
53 public void finishDecode( IoSession session, ProtocolDecoderOutput out ) throws Exception
54 {
55 }
56 }