New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version...

155
eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

Transcript of New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version...

Page 1: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

eProsima RPCREST C++ APIVersion 0.3.0

Generated by Doxygen 1.8.5

Wed May 14 2014 19:34:28

Page 2: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28
Page 3: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

Contents

1 eProsima RPC over REST 1

2 Module Index 3

2.1 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Namespace Index 5

3.1 Namespace List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4 Hierarchical Index 7

4.1 Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

5 Class Index 9

5.1 Class List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

6 Module Documentation 13

6.1 eProsima RPCREST API Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

6.2 Client Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

6.2.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

6.3 Server Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

6.3.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

6.4 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

6.4.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

6.5 Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

6.5.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

6.6 Transports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

6.6.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

6.7 Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

6.7.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

7 Namespace Documentation 23

7.1 FooREST::FooResource Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

7.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Page 4: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

iv CONTENTS

8 Class Documentation 25

8.1 eprosima::rpc::protocol::rest::_FastBuffer_iterator Class Reference . . . . . . . . . . . . . . . . . 25

8.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

8.1.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

8.1.2.1 _FastBuffer_iterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

8.1.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

8.1.3.1 memcopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

8.1.3.2 operator& . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

8.1.3.3 operator++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

8.1.3.4 operator++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

8.1.3.5 operator+= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

8.1.3.6 operator- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

8.1.3.7 operator<< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

8.1.3.8 operator<< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

8.1.3.9 operator>> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

8.1.3.10 operator>> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

8.1.3.11 rmemcopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

8.2 eprosima::rpc::exception::BadParamException Class Reference . . . . . . . . . . . . . . . . . . . 28

8.2.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

8.2.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

8.2.2.1 BadParamException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

8.2.2.2 BadParamException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

8.2.2.3 BadParamException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

8.2.2.4 BadParamException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

8.2.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

8.2.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

8.2.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

8.3 eprosima::rpc::transport::BossProcess Class Reference . . . . . . . . . . . . . . . . . . . . . . . 31

8.4 eprosima::rpc::exception::ClientInternalException Class Reference . . . . . . . . . . . . . . . . . 31

8.4.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

8.4.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

8.4.2.1 ClientInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

8.4.2.2 ClientInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

8.4.2.3 ClientInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

8.4.2.4 ClientInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

8.4.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

8.4.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

8.4.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

8.5 FooREST::FooResource::Emptyvoid Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 34

8.5.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 5: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

CONTENTS v

8.5.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

8.5.2.1 Emptyvoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

8.5.2.2 Emptyvoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

8.5.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

8.5.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

8.5.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

8.5.3.3 status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

8.5.3.4 status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

8.5.3.5 status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

8.6 eprosima::rpc::transport::Endpoint Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 36

8.6.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

8.7 eprosima::rpc::exception::Exception Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 37

8.7.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

8.7.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

8.7.2.1 Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

8.7.2.2 Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

8.7.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

8.7.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

8.7.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

8.8 eprosima::rpc::protocol::rest::FastBuffer Class Reference . . . . . . . . . . . . . . . . . . . . . . 39

8.8.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

8.8.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

8.8.2.1 FastBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

8.8.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

8.8.3.1 begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

8.8.3.2 end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

8.8.3.3 getBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

8.8.3.4 getBufferSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

8.8.3.5 resize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

8.9 FooREST::FooResourceProxy Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

8.9.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

8.9.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

8.9.2.1 FooResourceProxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

8.10 FooREST::FooResourceServer Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

8.10.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

8.10.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

8.10.2.1 FooResourceServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

8.11 FooREST::FooResourceServerImpl Class Reference . . . . . . . . . . . . . . . . . . . . . . . . 45

8.11.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

8.12 eprosima::rpc::protocol::FooRESTProtocol Class Reference . . . . . . . . . . . . . . . . . . . . . 46

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 6: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

vi CONTENTS

8.12.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

8.12.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

8.12.2.1 activateInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

8.12.2.2 linkFooREST_FooResourceImpl . . . . . . . . . . . . . . . . . . . . . . . . . . 48

8.12.2.3 setTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

8.13 eprosima::rpc::protocol::rest::FooRESTProtocol Class Reference . . . . . . . . . . . . . . . . . . 48

8.13.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

8.13.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

8.13.2.1 setTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

8.13.2.2 worker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

8.14 eprosima::rpc::protocol::rest::HTTPData Class Reference . . . . . . . . . . . . . . . . . . . . . . 51

8.14.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

8.14.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

8.14.2.1 HTTPData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

8.14.2.2 HTTPData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

8.14.2.3 HTTPData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

8.14.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

8.14.3.1 get_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

8.14.3.2 getData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

8.14.3.3 getMediaType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

8.14.3.4 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

8.14.3.5 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

8.15 eprosima::rpc::transport::HttpMessage Class Reference . . . . . . . . . . . . . . . . . . . . . . . 53

8.15.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

8.15.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

8.15.2.1 HttpMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

8.15.2.2 HttpMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

8.15.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

8.15.3.1 getBodyContentLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

8.15.3.2 getBodyContentType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

8.15.3.3 getBodyData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

8.15.3.4 getContainsResponseStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

8.15.3.5 getHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

8.15.3.6 getMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

8.15.3.7 getMethodStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

8.15.3.8 getResponseCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

8.15.3.9 getResponseStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

8.15.3.10 getUri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

8.15.3.11 getVersionCompatible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

8.15.3.12 setBodyContentLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 7: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

CONTENTS vii

8.15.3.13 setBodyContentType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

8.15.3.14 setBodyContentType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

8.15.3.15 setBodyData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

8.15.3.16 setBodyData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

8.15.3.17 setHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

8.15.3.18 setHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

8.15.3.19 setMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

8.15.3.20 setResponseCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

8.15.3.21 setResponseStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

8.15.3.22 setResponseStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

8.15.3.23 setUri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

8.15.3.24 setUri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

8.15.3.25 setVersionCompatible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

8.16 eprosima::rpc::protocol::rest::HTTPMethod Class Reference . . . . . . . . . . . . . . . . . . . . . 59

8.16.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

8.16.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

8.16.2.1 get_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

8.16.2.2 getMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

8.16.2.3 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

8.16.2.4 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

8.17 eprosima::rpc::protocol::rest::HTTPParam Class Reference . . . . . . . . . . . . . . . . . . . . . 60

8.17.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

8.17.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

8.17.2.1 HTTPParam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

8.17.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

8.17.3.1 get_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

8.17.3.2 getName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

8.17.3.3 getValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

8.17.3.4 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

8.17.3.5 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

8.18 eprosima::rpc::protocol::rest::HTTPParameters Class Reference . . . . . . . . . . . . . . . . . . 62

8.18.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

8.18.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

8.18.2.1 addParam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

8.18.2.2 containsParam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

8.18.2.3 get_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

8.18.2.4 get_params . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

8.18.2.5 get_size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

8.18.2.6 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

8.19 eprosima::rpc::transport::HttpProxyTransport Class Reference . . . . . . . . . . . . . . . . . . . . 63

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 8: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

viii CONTENTS

8.19.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

8.19.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

8.19.2.1 HttpProxyTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

8.19.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

8.19.3.1 connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

8.19.3.2 receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

8.19.3.3 send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

8.20 eprosima::rpc::protocol::rest::HTTPResponseCode Class Reference . . . . . . . . . . . . . . . . 66

8.20.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

8.20.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

8.20.2.1 HTTPResponseCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

8.20.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

8.20.3.1 get_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

8.20.3.2 getStatusCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

8.20.3.3 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

8.20.3.4 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

8.21 eprosima::rpc::transport::HttpServerTransport Class Reference . . . . . . . . . . . . . . . . . . . 67

8.21.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

8.21.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

8.21.2.1 HttpServerTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

8.21.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

8.21.3.1 bossProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

8.21.3.2 sendReply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

8.21.3.3 worker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

8.22 eprosima::rpc::protocol::rest::HTTPUri Class Reference . . . . . . . . . . . . . . . . . . . . . . . 71

8.22.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

8.22.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

8.22.2.1 HTTPUri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

8.22.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

8.22.3.1 get_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

8.22.3.2 getPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

8.22.3.3 getResourcePath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

8.22.3.4 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

8.22.3.5 setBaseUri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

8.22.3.6 setHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

8.23 eprosima::rpc::protocol::rest::HTTPVersion Class Reference . . . . . . . . . . . . . . . . . . . . . 73

8.23.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

8.23.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

8.23.2.1 HTTPVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

8.23.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 9: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

CONTENTS ix

8.23.3.1 get_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

8.23.3.2 HTTPVersionRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

8.23.3.3 HTTPVersionResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

8.23.3.4 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

8.23.3.5 set_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

8.24 eprosima::rpc::exception::IncompatibleException Class Reference . . . . . . . . . . . . . . . . . 75

8.24.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

8.24.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

8.24.2.1 IncompatibleException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

8.24.2.2 IncompatibleException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

8.24.2.3 IncompatibleException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

8.24.2.4 IncompatibleException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

8.24.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

8.24.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

8.24.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

8.25 eprosima::rpc::exception::InitializeException Class Reference . . . . . . . . . . . . . . . . . . . . 78

8.25.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

8.25.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

8.25.2.1 InitializeException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

8.25.2.2 InitializeException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

8.25.2.3 InitializeException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

8.25.2.4 InitializeException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

8.25.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

8.25.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

8.25.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

8.26 eprosima::rpc::protocol::Protocol Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 81

8.26.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

8.26.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

8.26.2.1 _setTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

8.26.2.2 getTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

8.26.2.3 setTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

8.27 eprosima::rpc::proxy::Proxy Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

8.27.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

8.27.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

8.27.2.1 Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

8.27.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

8.27.3.1 getProtocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

8.27.3.2 getTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

8.28 eprosima::rpc::transport::ProxyTransport Class Reference . . . . . . . . . . . . . . . . . . . . . . 84

8.28.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 10: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

x CONTENTS

8.28.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

8.28.2.1 connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

8.28.2.2 getBehaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

8.28.2.3 receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

8.28.2.4 send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

8.29 RESOURCES_BASE_URI Interface Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

8.30 eprosima::rpc::protocol::rest::RESTSerializer Class Reference . . . . . . . . . . . . . . . . . . . . 87

8.30.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

8.30.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

8.30.2.1 beginSerializeTemplateParameters . . . . . . . . . . . . . . . . . . . . . . . . 88

8.30.2.2 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

8.30.2.3 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

8.30.2.4 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

8.30.2.5 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

8.30.2.6 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

8.30.2.7 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

8.30.2.8 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

8.30.2.9 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

8.30.2.10 deserialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

8.30.2.11 deserializeUri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

8.30.2.12 endSerializeTemplateParameters . . . . . . . . . . . . . . . . . . . . . . . . . 91

8.30.2.13 existsQueryParameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

8.30.2.14 existsTagLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

8.30.2.15 getQueryParameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

8.30.2.16 getTag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

8.30.2.17 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

8.30.2.18 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

8.30.2.19 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

8.30.2.20 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

8.30.2.21 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

8.30.2.22 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

8.30.2.23 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

8.30.2.24 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

8.30.2.25 serialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

8.30.2.26 serializeQueryParameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

8.30.2.27 serializeTemplateParameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

8.31 eprosima::rpc::server::Server Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

8.31.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

8.31.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

8.31.2.1 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 11: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

CONTENTS xi

8.31.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

8.31.3.1 process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

8.32 eprosima::rpc::exception::ServerInternalException Class Reference . . . . . . . . . . . . . . . . . 99

8.32.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

8.32.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

8.32.2.1 ServerInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

8.32.2.2 ServerInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

8.32.2.3 ServerInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

8.32.2.4 ServerInternalException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

8.32.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

8.32.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

8.32.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

8.33 eprosima::rpc::exception::ServerNotFoundException Class Reference . . . . . . . . . . . . . . . 102

8.33.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

8.33.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

8.33.2.1 ServerNotFoundException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

8.33.2.2 ServerNotFoundException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

8.33.2.3 ServerNotFoundException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

8.33.2.4 ServerNotFoundException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

8.33.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

8.33.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

8.33.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

8.34 eprosima::rpc::strategy::ServerStrategy Class Reference . . . . . . . . . . . . . . . . . . . . . . 105

8.34.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

8.34.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

8.34.2.1 getImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

8.35 eprosima::rpc::strategy::ServerStrategyImpl Class Reference . . . . . . . . . . . . . . . . . . . . 106

8.35.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

8.35.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

8.35.2.1 schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

8.36 eprosima::rpc::exception::ServerTimeoutException Class Reference . . . . . . . . . . . . . . . . 106

8.36.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

8.36.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

8.36.2.1 ServerTimeoutException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

8.36.2.2 ServerTimeoutException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

8.36.2.3 ServerTimeoutException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

8.36.2.4 ServerTimeoutException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

8.36.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

8.36.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

8.36.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 12: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

xii CONTENTS

8.37 eprosima::rpc::transport::ServerTransport Class Reference . . . . . . . . . . . . . . . . . . . . . 109

8.37.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

8.37.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

8.37.2.1 getBehaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

8.37.2.2 getCallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

8.37.2.3 getLinkedProtocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

8.37.2.4 getStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

8.37.2.5 linkProtocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

8.37.2.6 receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

8.37.2.7 sendReply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

8.37.2.8 setCallback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

8.37.2.9 setStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

8.38 eprosima::rpc::strategy::SingleThreadStrategy Class Reference . . . . . . . . . . . . . . . . . . . 112

8.38.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

8.38.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

8.38.2.1 getImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

8.39 eprosima::rpc::exception::SystemException Class Reference . . . . . . . . . . . . . . . . . . . . 114

8.39.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

8.39.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

8.39.2.1 SystemException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

8.39.2.2 SystemException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

8.39.2.3 SystemException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

8.39.2.4 SystemException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

8.39.2.5 SystemException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

8.39.2.6 SystemException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

8.39.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

8.39.3.1 minor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

8.39.3.2 minor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

8.39.3.3 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

8.39.3.4 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

8.39.3.5 what . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

8.40 eprosima::rpc::transport::TCPEndpoint Class Reference . . . . . . . . . . . . . . . . . . . . . . . 118

8.40.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

8.40.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

8.40.2.1 getReadBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

8.40.2.2 getReadBufferCurrentPointer . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

8.40.2.3 getReadBufferEmptySpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

8.40.2.4 getReadBufferFillUse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

8.40.2.5 getReadBufferLeftSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

8.40.2.6 getReadBufferLeftUsedSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 13: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

CONTENTS xiii

8.40.2.7 getReadBufferLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

8.40.2.8 getWriteBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

8.40.2.9 getWriteBufferLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

8.40.2.10 getWriteBufferUsage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

8.40.2.11 increaseReadBufferCurrentPointer . . . . . . . . . . . . . . . . . . . . . . . . 121

8.40.2.12 increaseReadBufferFillUse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

8.40.2.13 isOpen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

8.40.2.14 resizeReadBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

8.40.2.15 resizeWriteBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

8.40.2.16 socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

8.40.2.17 write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

8.40.2.18 write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

8.41 eprosima::rpc::transport::TCPProxyTransport Class Reference . . . . . . . . . . . . . . . . . . . 124

8.41.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

8.41.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

8.41.2.1 TCPProxyTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

8.41.2.2 TCPProxyTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

8.41.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

8.41.3.1 connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

8.41.3.2 receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

8.41.3.3 send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

8.42 eprosima::rpc::transport::TCPServerTransport Class Reference . . . . . . . . . . . . . . . . . . . 126

8.42.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

8.42.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

8.42.2.1 TCPServerTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

8.42.2.2 ∼TCPServerTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

8.42.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

8.42.3.1 receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

8.42.3.2 sendReply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

8.42.3.3 worker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

8.43 eprosima::rpc::strategy::ThreadPerRequestStrategy Class Reference . . . . . . . . . . . . . . . . 129

8.43.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

8.43.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

8.43.2.1 getImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

8.44 eprosima::rpc::strategy::ThreadPoolStrategy Class Reference . . . . . . . . . . . . . . . . . . . . 130

8.44.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

8.44.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

8.44.2.1 ThreadPoolStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

8.44.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

8.44.3.1 getImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 14: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

xiv CONTENTS

8.45 eprosima::rpc::transport::Transport Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . 133

8.45.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

8.45.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

8.45.2.1 getBehaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

8.46 eprosima::rpc::exception::UserException Class Reference . . . . . . . . . . . . . . . . . . . . . . 134

8.46.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

8.46.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

8.46.2.1 UserException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

8.46.2.2 UserException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

8.46.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

8.46.3.1 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

8.46.3.2 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

Index 137

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 15: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

Chapter 1

eProsima RPC over REST

eProsima RPCREST Library

eProsima

eProsima RPC over REST is a service invocation framework that enables to build distributed applications withminimal effort using the client/server paradigm.

eProsima RPC over REST provides an implementation of this general concept of invoking remote procedures.eProsima RPC over REST is a service invocation framework that allows the developers to build distributed applica-tions with a minimal effort. It makes transparent the remote procedure call, avoiding the programmers from explicitlycoding the details for this remote interaction, permitting them to focus on the application logic.

eProsima RPC also brings other features:

• Synchronous invocation: The synchronous invocation is the mostly common used approach. It blocks theclient’s thread until the reply is received from the server.

• eProsima RPC over REST provides several strategies for the server. These strategies define how the serveracts when a new request is received. Current supported strategies are: single-thread strategy, thread-poolstrategy and thread-per-request strategy. Single-thread strategy uses only one thread for every incomingrequest. Thread-pool strategy uses a fixed amount of threads to process the incoming requests. Thread-per-request strategy creates a new thread for each new incoming request.

• Complete RESTful Frameworks: Developers can use eProsima RPC over REST code within their applica-tions.

Page 16: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

2 eProsima RPC over REST

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 17: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

Chapter 2

Module Index

2.1 Modules

Here is a list of all modules:

eProsima RPCREST API Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Client Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Server Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Transports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Page 18: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

4 Module Index

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 19: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

Chapter 3

Namespace Index

3.1 Namespace List

Here is a list of all documented namespaces with brief descriptions:

FooREST::FooResourceThis class represents the interface FooResource defined by the user in the IDL file . . . . . . . 23

Page 20: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

6 Namespace Index

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 21: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

Chapter 4

Hierarchical Index

4.1 Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:

eprosima::rpc::protocol::rest::_FastBuffer_iterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25eprosima::rpc::transport::BossProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31FooREST::FooResource::Emptyvoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34enable_shared_from_this

eprosima::rpc::transport::TCPEndpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118eprosima::rpc::transport::Endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

eprosima::rpc::transport::TCPEndpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118exception

eprosima::rpc::exception::Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37eprosima::rpc::exception::SystemException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

eprosima::rpc::exception::BadParamException . . . . . . . . . . . . . . . . . . . . . . . . . . 28eprosima::rpc::exception::ClientInternalException . . . . . . . . . . . . . . . . . . . . . . . . 31eprosima::rpc::exception::IncompatibleException . . . . . . . . . . . . . . . . . . . . . . . . . 75eprosima::rpc::exception::InitializeException . . . . . . . . . . . . . . . . . . . . . . . . . . . 78eprosima::rpc::exception::ServerInternalException . . . . . . . . . . . . . . . . . . . . . . . . 99eprosima::rpc::exception::ServerNotFoundException . . . . . . . . . . . . . . . . . . . . . . . 102eprosima::rpc::exception::ServerTimeoutException . . . . . . . . . . . . . . . . . . . . . . . . 106

eprosima::rpc::exception::UserException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134eprosima::rpc::protocol::rest::FastBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39FooREST::FooResourceServerImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45eprosima::rpc::protocol::rest::HTTPData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51eprosima::rpc::transport::HttpMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53eprosima::rpc::protocol::rest::HTTPMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59eprosima::rpc::protocol::rest::HTTPParam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60eprosima::rpc::protocol::rest::HTTPParameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62eprosima::rpc::protocol::rest::HTTPResponseCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66eprosima::rpc::protocol::rest::HTTPUri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71eprosima::rpc::protocol::rest::HTTPVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73noncopyable

eprosima::rpc::transport::TCPEndpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118eprosima::rpc::protocol::Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

eprosima::rpc::protocol::FooRESTProtocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46eprosima::rpc::protocol::rest::FooRESTProtocol . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

eprosima::rpc::proxy::Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83FooREST::FooResourceProxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

RESOURCES_BASE_URI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86eprosima::rpc::protocol::rest::RESTSerializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Page 22: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8 Hierarchical Index

eprosima::rpc::server::Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

FooREST::FooResourceServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

eprosima::rpc::strategy::ServerStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

eprosima::rpc::strategy::SingleThreadStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112eprosima::rpc::strategy::ThreadPerRequestStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . 129eprosima::rpc::strategy::ThreadPoolStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

eprosima::rpc::strategy::ServerStrategyImpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106eprosima::rpc::transport::Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

eprosima::rpc::transport::ProxyTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84eprosima::rpc::transport::HttpProxyTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63eprosima::rpc::transport::TCPProxyTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

eprosima::rpc::transport::ServerTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109eprosima::rpc::transport::HttpServerTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67eprosima::rpc::transport::TCPServerTransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 23: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

Chapter 5

Class Index

5.1 Class List

Here are the classes, structs, unions and interfaces with brief descriptions:

eprosima::rpc::protocol::rest::_FastBuffer_iteratorThis class implements the iterator used to go through a FastBuffer . . . . . . . . . . . . . . . 25

eprosima::rpc::exception::BadParamExceptionThis class is thrown as an exception when there is some bad paremeter in a object . . . . . . 28

eprosima::rpc::transport::BossProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31eprosima::rpc::exception::ClientInternalException

This class is thrown as an exception when there is an error in the proxy side . . . . . . . . . . 31FooREST::FooResource::Emptyvoid

This class represents the structure Emptyvoid defined by the user in the IDL file . . . . . . . . 34eprosima::rpc::transport::Endpoint

This class represents an endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36eprosima::rpc::exception::Exception

This abstract class is used to create exceptions . . . . . . . . . . . . . . . . . . . . . . . . . 37eprosima::rpc::protocol::rest::FastBuffer

This class represents a byte stream that contains (or will contain) serialized data. This class isused by the serializers to serialize or deserialize using their own representation . . . . . . . . 39

FooREST::FooResourceProxyThis class implements a specific server’s proxy for the defined interface FooResource . . . . . 41

FooREST::FooResourceServerThis class implements a specific server for the defined interface FooResource by user . . . . . 44

FooREST::FooResourceServerImplThis class is the skeleton of the servant and its remote procedures has to be implemented . . 45

eprosima::rpc::protocol::FooRESTProtocolProtocol base class for the specific application . . . . . . . . . . . . . . . . . . . . . . . . . . 46

eprosima::rpc::protocol::rest::FooRESTProtocolThis class is responsible for serializing and deserializing the requests and responses of thisapplication. It uses a RESTful protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

eprosima::rpc::protocol::rest::HTTPDataThis class represents the content of an HTTP message . . . . . . . . . . . . . . . . . . . . . 51

eprosima::rpc::transport::HttpMessageThis class represents an HTTP message . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

eprosima::rpc::protocol::rest::HTTPMethodThis class represents an HTTP method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

eprosima::rpc::protocol::rest::HTTPParamThis class represents an HTTP query parameter . . . . . . . . . . . . . . . . . . . . . . . . 60

eprosima::rpc::protocol::rest::HTTPParametersThis class represents an HTTP query parameter . . . . . . . . . . . . . . . . . . . . . . . . 62

Page 24: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

10 Class Index

eprosima::rpc::transport::HttpProxyTransportThis interface is the base of all proxy classes that implement an HTTP transport . . . . . . . . 63

eprosima::rpc::protocol::rest::HTTPResponseCodeThis class represents the response code of an HTTP response message . . . . . . . . . . . . 66

eprosima::rpc::transport::HttpServerTransportThis interface is the base of all classes that implement a transport that could be used by a proxy 67

eprosima::rpc::protocol::rest::HTTPUriThis class represents an HTTP URI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

eprosima::rpc::protocol::rest::HTTPVersionThis class represents an HTTP version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

eprosima::rpc::exception::IncompatibleExceptionThis class is thrown as an exception when a selected protocol and transport are incompatible . 75

eprosima::rpc::exception::InitializeExceptionThis class is thrown as an exception when there is an error initializating an object . . . . . . . 78

eprosima::rpc::protocol::ProtocolThis abstract class represents the protocol used by the RPCs. It serializes and deserializes theinformation and uses a eprosima::rpc::transport::Transport to send it and receive it . . . . . . . 81

eprosima::rpc::proxy::ProxyThis class implements the common functionalities that all server’s proxies have . . . . . . . . 83

eprosima::rpc::transport::ProxyTransportThis interface is the base of all classes that implement a transport that can be used by the proxy 84

RESOURCES_BASE_URI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86eprosima::rpc::protocol::rest::RESTSerializer

This class serializes REST data to get an HTTP message suitable for HTTP communications . 87eprosima::rpc::server::Server

This class implements the common functionalities that any server has . . . . . . . . . . . . . 97eprosima::rpc::exception::ServerInternalException

This class is thrown as an exception when there is an error in the server side . . . . . . . . . 99eprosima::rpc::exception::ServerNotFoundException

This class is thrown as an exception when the server is not found . . . . . . . . . . . . . . . . 102eprosima::rpc::strategy::ServerStrategy

This class is the base of all classes that implement a server strategy. that could be used by theserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

eprosima::rpc::strategy::ServerStrategyImplThis class is the base of all classes that implement a server strategy. that could be used by theserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

eprosima::rpc::exception::ServerTimeoutExceptionThis class is thrown as an exception when the remote procedure call exceeds the maximum time 106

eprosima::rpc::transport::ServerTransportThis interface is the base of all classes that implement a transport that can be used by the server 109

eprosima::rpc::strategy::SingleThreadStrategyThis class implements the sigle thread strategy. The server uses a reception thread to executeall the requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

eprosima::rpc::exception::SystemExceptionThis abstract class is used to create internal FASTRPC exceptions . . . . . . . . . . . . . . . 114

eprosima::rpc::transport::TCPEndpointThis class represents a TCP endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

eprosima::rpc::transport::TCPProxyTransportThis class represents a TCP transport. It must be used by TCP clients . . . . . . . . . . . . . 124

eprosima::rpc::transport::TCPServerTransportThis class represents a TCP transport. It must be used by TCP servers . . . . . . . . . . . . 126

eprosima::rpc::strategy::ThreadPerRequestStrategyThis class implements the thread per request strategy. The server creates a new thread for everynew incoming request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

eprosima::rpc::strategy::ThreadPoolStrategyThis class implements a thread pool strategy. The server schedules the incoming requests in afree thread of the thread pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 25: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

5.1 Class List 11

eprosima::rpc::transport::TransportThis class is the base of all classes that implement a transport that could be used by the proxyor the server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

eprosima::rpc::exception::UserExceptionThis abstract class is used to create user exceptions . . . . . . . . . . . . . . . . . . . . . . 134

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 26: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

12 Class Index

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 27: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

Chapter 6

Module Documentation

6.1 eProsima RPCREST API Reference

eProsima RPC over REST internal API grouped in modules.

Collaboration diagram for eProsima RPCREST API Reference:

eProsima RPCREST API Reference

Exceptions

Client Module

Server Module

Transports

Protocols

Modules

• Client Module

This group contains related API to create a client application. This API is used by the tool rpcrestgen to generatecustom code based in a defined interface. That interface and its remote procedures have to be defined in IDL orWADL.

• Server Module

This group contains related API to create a server application. Except the custom server’s strategies, this API is usedby the tool rpcrestgen to generate custom code based in a defined interface. That interface and its remote procedurehave to be defined in IDL or WADL.

• Exceptions

Page 28: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

14 Module Documentation

Exceptions used by the eProsima RPCREST API. All exceptions defined in this module are thrown by the eProsimaRPCREST library and the code generated by the tool rpcrestgen.

• Transports

Network transports that eProsima RPCREST library offers. These transports define how a connection is establishedbetween a proxy and a server.

• Protocols

Protocols used by the RPCs. They define how to serialize and deserialize the information and use a eprosima::rpc-::transport::Transport to send it and receive it.

6.1.1 Detailed Description

eProsima RPC over REST internal API grouped in modules.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 29: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

6.2 Client Module 15

6.2 Client Module

This group contains related API to create a client application. This API is used by the tool rpcrestgen to generatecustom code based in a defined interface. That interface and its remote procedures have to be defined in IDL orWADL.

Collaboration diagram for Client Module:

eProsima RPCREST API Reference Client Module

Classes

• class eprosima::rpc::proxy::Proxy

This class implements the common functionalities that all server’s proxies have.

6.2.1 Detailed Description

This group contains related API to create a client application. This API is used by the tool rpcrestgen to generatecustom code based in a defined interface. That interface and its remote procedures have to be defined in IDL orWADL.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 30: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

16 Module Documentation

6.3 Server Module

This group contains related API to create a server application. Except the custom server’s strategies, this API isused by the tool rpcrestgen to generate custom code based in a defined interface. That interface and its remoteprocedure have to be defined in IDL or WADL.

Collaboration diagram for Server Module:

eProsima RPCREST API Reference Server Module Strategies

Modules

• Strategies

Server’s strategies that can be used in the server application. These strategies define how the server schedules aincoming request.

Classes

• class eprosima::rpc::server::Server

This class implements the common functionalities that any server has.

• class eprosima::rpc::strategy::ServerStrategy

This class is the base of all classes that implement a server strategy. that could be used by the server.

• class eprosima::rpc::strategy::ServerStrategyImpl

This class is the base of all classes that implement a server strategy. that could be used by the server.

6.3.1 Detailed Description

This group contains related API to create a server application. Except the custom server’s strategies, this API isused by the tool rpcrestgen to generate custom code based in a defined interface. That interface and its remoteprocedure have to be defined in IDL or WADL.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 31: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

6.4 Exceptions 17

6.4 Exceptions

Exceptions used by the eProsima RPCREST API. All exceptions defined in this module are thrown by the eProsimaRPCREST library and the code generated by the tool rpcrestgen.

Collaboration diagram for Exceptions:

eProsima RPCREST API Reference Exceptions

Classes

• class eprosima::rpc::exception::BadParamException

This class is thrown as an exception when there is some bad paremeter in a object.

• class eprosima::rpc::exception::ClientInternalException

This class is thrown as an exception when there is an error in the proxy side.

• class eprosima::rpc::exception::Exception

This abstract class is used to create exceptions.

• class eprosima::rpc::exception::IncompatibleException

This class is thrown as an exception when a selected protocol and transport are incompatible.

• class eprosima::rpc::exception::InitializeException

This class is thrown as an exception when there is an error initializating an object.

• class eprosima::rpc::exception::ServerInternalException

This class is thrown as an exception when there is an error in the server side.

• class eprosima::rpc::exception::ServerNotFoundException

This class is thrown as an exception when the server is not found.

• class eprosima::rpc::exception::ServerTimeoutException

This class is thrown as an exception when the remote procedure call exceeds the maximum time.

• class eprosima::rpc::exception::SystemException

This abstract class is used to create internal FASTRPC exceptions.

• class eprosima::rpc::exception::UserException

This abstract class is used to create user exceptions.

6.4.1 Detailed Description

Exceptions used by the eProsima RPCREST API. All exceptions defined in this module are thrown by the eProsimaRPCREST library and the code generated by the tool rpcrestgen.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 32: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

18 Module Documentation

6.5 Strategies

Server’s strategies that can be used in the server application. These strategies define how the server schedules aincoming request.

Collaboration diagram for Strategies:

Server Module Strategies

Classes

• class eprosima::rpc::strategy::SingleThreadStrategy

This class implements the sigle thread strategy. The server uses a reception thread to execute all the requests.

• class eprosima::rpc::strategy::ThreadPerRequestStrategy

This class implements the thread per request strategy. The server creates a new thread for every new incomingrequest.

• class eprosima::rpc::strategy::ThreadPoolStrategy

This class implements a thread pool strategy. The server schedules the incoming requests in a free thread of thethread pool.

6.5.1 Detailed Description

Server’s strategies that can be used in the server application. These strategies define how the server schedules aincoming request.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 33: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

6.6 Transports 19

6.6 Transports

Network transports that eProsima RPCREST library offers. These transports define how a connection is establishedbetween a proxy and a server.

Collaboration diagram for Transports:

eProsima RPCREST API Reference Transports

Classes

• class eprosima::rpc::transport::Endpoint

This class represents an endpoint.

• class eprosima::rpc::transport::TCPEndpoint

This class represents a TCP endpoint.

• class eprosima::rpc::transport::HttpProxyTransport

This interface is the base of all proxy classes that implement an HTTP transport.

• class eprosima::rpc::transport::HttpServerTransport

This interface is the base of all classes that implement a transport that could be used by a proxy.

• class eprosima::rpc::transport::HttpMessage

This class represents an HTTP message.

• class eprosima::rpc::transport::ProxyTransport

This interface is the base of all classes that implement a transport that can be used by the proxy.

• class eprosima::rpc::transport::ServerTransport

This interface is the base of all classes that implement a transport that can be used by the server.

• class eprosima::rpc::transport::TCPProxyTransport

This class represents a TCP transport. It must be used by TCP clients.

• class eprosima::rpc::transport::TCPServerTransport

This class represents a TCP transport. It must be used by TCP servers.

• class eprosima::rpc::transport::Transport

This class is the base of all classes that implement a transport that could be used by the proxy or the server.

Typedefs

• typedef enumeprosima::rpc::transport::TransportBehaviour eprosima::rpc::transport::TransportBehaviour

This enumeration specifies the behaviour of the transport.

Enumerations

• enum eprosima::rpc::transport::TransportBehaviour { PROXY_BEHAVIOUR, SERVER_BEHAVIOUR }

This enumeration specifies the behaviour of the transport.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 34: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

20 Module Documentation

Variables

• boost::function< void(TCPEndpoint ∗)> eprosima::rpc::transport::BossProcess::function

Callback designed to receive a proxy request and schedule it invoking the concrete threading strategy.

6.6.1 Detailed Description

Network transports that eProsima RPCREST library offers. These transports define how a connection is establishedbetween a proxy and a server.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 35: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

6.7 Protocols 21

6.7 Protocols

Protocols used by the RPCs. They define how to serialize and deserialize the information and use a eprosima::rpc-::transport::Transport to send it and receive it.

Collaboration diagram for Protocols:

eProsima RPCREST API Reference Protocols

Classes

• class eprosima::rpc::protocol::Protocol

This abstract class represents the protocol used by the RPCs. It serializes and deserializes the information and usesa eprosima::rpc::transport::Transport to send it and receive it.

• class eprosima::rpc::protocol::rest::_FastBuffer_iterator

This class implements the iterator used to go through a FastBuffer.

• class eprosima::rpc::protocol::rest::RESTSerializer

This class serializes REST data to get an HTTP message suitable for HTTP communications.

Enumerations

• enum eprosima::rpc::protocol::rest::Method { HTTP_GET, HTTP_PUT, HTTP_POST, HTTP_DELETE }

This enumerator represents the supported HTTP methods.

6.7.1 Detailed Description

Protocols used by the RPCs. They define how to serialize and deserialize the information and use a eprosima::rpc-::transport::Transport to send it and receive it.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 36: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

22 Module Documentation

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 37: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

Chapter 7

Namespace Documentation

7.1 FooREST::FooResource Namespace Reference

This class represents the interface FooResource defined by the user in the IDL file.

Classes

• class Emptyvoid

This class represents the structure Emptyvoid defined by the user in the IDL file.

7.1.1 Detailed Description

This class represents the interface FooResource defined by the user in the IDL file.

Page 38: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

24 Namespace Documentation

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 39: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

Chapter 8

Class Documentation

8.1 eprosima::rpc::protocol::rest::_FastBuffer_iterator Class Reference

This class implements the iterator used to go through a FastBuffer.

#include <FastBuffer.h>

Public Member Functions

• _FastBuffer_iterator ()

Default constructor. The iterator points to any position.• _FastBuffer_iterator (char ∗buffer, size_t index)

Constructor. The iterator points to the indicated position.• void operator<< (const _FastBuffer_iterator &iterator)

This operator changes the iterator’s raw buffer. This operator makes the iterator point to the same position but inanother raw buffer. The new raw buffer is the same than the source iterator’s.

• void operator>> (const _FastBuffer_iterator &iterator)

This operator changes the position where the iterator points. This operator takes the index of the source iterator, butthe iterator continues using its own raw buffer.

• template<typename _T >

void operator<< (const _T &data)

This operator copies data in the raw buffer. The copy uses the size of the data type.• template<typename _T >

void operator>> (_T &data)

This operator copies data from the raw buffer to a variable. The copy uses the size of the data type.• void memcopy (const void ∗src, const size_t size)

This function copies a buffer into the raw buffer.• void rmemcopy (void ∗dst, const size_t size)

This function copies from the raw buffer to a external buffer.• void operator+= (size_t numBytes)

This function increments the position where the iterator points.• size_t operator- (const _FastBuffer_iterator &it) const

This operator returns the subtraction of the current interator’s position and the source iterator’s position. Sourceiterator whose position is subtracted to the current iterator’s position.

• _FastBuffer_iterator operator++ ()

This function increments the iterator in one the position.• _FastBuffer_iterator operator++ (int)

This function increments the iterator in one position.• char ∗ operator& ()

This function returns the current position in the raw buffer.

Page 40: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

26 Class Documentation

8.1.1 Detailed Description

This class implements the iterator used to go through a FastBuffer.

8.1.2 Constructor & Destructor Documentation

8.1.2.1 eprosima::rpc::protocol::rest::_FastBuffer_iterator::_FastBuffer_iterator ( char ∗ buffer, size_t index ) [inline],[explicit]

Constructor. The iterator points to the indicated position.

Parameters

buffer Pointer to the raw buffer.index Position of the raw buffer where the iterator will be pointing.

8.1.3 Member Function Documentation

8.1.3.1 void eprosima::rpc::protocol::rest::_FastBuffer_iterator::memcopy ( const void ∗ src, const size_t size )[inline]

This function copies a buffer into the raw buffer.

Parameters

src The source buffer.size The number of bytes to be copied.

8.1.3.2 char∗ eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator& ( ) [inline]

This function returns the current position in the raw buffer.

Returns

The current position in the raw buffer.

8.1.3.3 _FastBuffer_iterator eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator++ ( ) [inline]

This function increments the iterator in one the position.

Returns

The current iterator.

8.1.3.4 _FastBuffer_iterator eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator++ ( int ) [inline]

This function increments the iterator in one position.

Returns

The current iterator.

8.1.3.5 void eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator+= ( size_t numBytes ) [inline]

This function increments the position where the iterator points.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 41: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.1 eprosima::rpc::protocol::rest::_FastBuffer_iterator Class Reference 27

Parameters

numBytes Number of bytes that the iterator moves the current position.

8.1.3.6 size_t eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator- ( const _FastBuffer_iterator & it ) const[inline]

This operator returns the subtraction of the current interator’s position and the source iterator’s position. Sourceiterator whose position is subtracted to the current iterator’s position.

Returns

The result of subtracting the current iterator’s position and the source iterator’s position.

8.1.3.7 void eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator<< ( const _FastBuffer_iterator & iterator )[inline]

This operator changes the iterator’s raw buffer. This operator makes the iterator point to the same position but inanother raw buffer. The new raw buffer is the same than the source iterator’s.

Parameters

iterator The source iterator. The iterator will use the source iterator’s raw buffer after this operation.

8.1.3.8 template<typename _T > void eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator<< ( const _T & data )[inline]

This operator copies data in the raw buffer. The copy uses the size of the data type.

Parameters

data Data to be copied. It cannot be NULL.

8.1.3.9 void eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator>> ( const _FastBuffer_iterator & iterator )[inline]

This operator changes the position where the iterator points. This operator takes the index of the source iterator,but the iterator continues using its own raw buffer.

Parameters

The source iterator. The iterator will use the source’s iterator index to point to its own raw buffer.

8.1.3.10 template<typename _T > void eprosima::rpc::protocol::rest::_FastBuffer_iterator::operator>> ( _T & data )[inline]

This operator copies data from the raw buffer to a variable. The copy uses the size of the data type.

Parameters

data Data to be filled.

8.1.3.11 void eprosima::rpc::protocol::rest::_FastBuffer_iterator::rmemcopy ( void ∗ dst, const size_t size ) [inline]

This function copies from the raw buffer to a external buffer.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 42: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

28 Class Documentation

Parameters

dst The destination buffer.size The size in bytes to be copied.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/protocols/rest/FastBuffer.h

8.2 eprosima::rpc::exception::BadParamException Class Reference

This class is thrown as an exception when there is some bad paremeter in a object.

#include <BadParamException.h>

Inheritance diagram for eprosima::rpc::exception::BadParamException:

eprosima::rpc::exception::BadParamException

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::Exception

std::exception

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 43: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.2 eprosima::rpc::exception::BadParamException Class Reference 29

Collaboration diagram for eprosima::rpc::exception::BadParamException:

eprosima::rpc::exception::BadParamException

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::Exception

std::exception

Public Member Functions

• BadParamException (const std::string &message)

Default constructor.

• BadParamException (std::string &&message)

Default constructor.

• BadParamException (const BadParamException &ex)

Default copy constructor.

• BadParamException (BadParamException &&ex)

Default move constructor.

• BadParamException & operator= (const BadParamException &ex)

Assigment operation.

• BadParamException & operator= (BadParamException &&ex)

Assigment operation.

• virtual ∼BadParamException () throw ()

Default constructor.

• virtual void raise () const

This function throws the object as an exception.

Additional Inherited Members

8.2.1 Detailed Description

This class is thrown as an exception when there is some bad paremeter in a object.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 44: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

30 Class Documentation

8.2.2 Constructor & Destructor Documentation

8.2.2.1 eprosima::rpc::exception::BadParamException::BadParamException ( const std::string & message )

Default constructor.

Parameters

message An error message. This message is copied.

8.2.2.2 eprosima::rpc::exception::BadParamException::BadParamException ( std::string && message )

Default constructor.

Parameters

message An error message. This message is moved.

8.2.2.3 eprosima::rpc::exception::BadParamException::BadParamException ( const BadParamException & ex )

Default copy constructor.

Parameters

ex BadParamException that will be copied.

8.2.2.4 eprosima::rpc::exception::BadParamException::BadParamException ( BadParamException && ex )

Default move constructor.

Parameters

ex BadParamException that will be moved.

8.2.3 Member Function Documentation

8.2.3.1 BadParamException& eprosima::rpc::exception::BadParamException::operator= ( const BadParamException &ex )

Assigment operation.

Parameters

ex BadParamException that will be copied.

8.2.3.2 BadParamException& eprosima::rpc::exception::BadParamException::operator= ( BadParamException && ex )

Assigment operation.

Parameters

ex BadParamException that will be moved.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/exceptions/BadParamException.h

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 45: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.3 eprosima::rpc::transport::BossProcess Class Reference 31

8.3 eprosima::rpc::transport::BossProcess Class Reference

Public Attributes

• boost::function< void(TCPEndpoint ∗)> function

Callback designed to receive a proxy request and schedule it invoking the concrete threading strategy.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/transports/TCPServerTransportImpl.h

8.4 eprosima::rpc::exception::ClientInternalException Class Reference

This class is thrown as an exception when there is an error in the proxy side.

#include <ClientInternalException.h>

Inheritance diagram for eprosima::rpc::exception::ClientInternalException:

eprosima::rpc::exception::ClientInternalException

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::Exception

std::exception

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 46: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

32 Class Documentation

Collaboration diagram for eprosima::rpc::exception::ClientInternalException:

eprosima::rpc::exception::ClientInternalException

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::Exception

std::exception

Public Member Functions

• ClientInternalException (const std::string &message)

Default constructor.

• ClientInternalException (std::string &&message)

Default constructor.

• ClientInternalException (const ClientInternalException &ex)

Default copy constructor.

• ClientInternalException (ClientInternalException &&ex)

Default move constructor.

• ClientInternalException & operator= (const ClientInternalException &ex)

Assigment operation.

• ClientInternalException & operator= (ClientInternalException &&ex)

Assigment operation.

• virtual ∼ClientInternalException () throw ()

Default constructor.

• virtual void raise () const

This function throws the object as an exception.

Additional Inherited Members

8.4.1 Detailed Description

This class is thrown as an exception when there is an error in the proxy side.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 47: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.4 eprosima::rpc::exception::ClientInternalException Class Reference 33

8.4.2 Constructor & Destructor Documentation

8.4.2.1 eprosima::rpc::exception::ClientInternalException::ClientInternalException ( const std::string & message )

Default constructor.

Parameters

message An error message. This message is copied.

8.4.2.2 eprosima::rpc::exception::ClientInternalException::ClientInternalException ( std::string && message )

Default constructor.

Parameters

message An error message. This message is moved.

8.4.2.3 eprosima::rpc::exception::ClientInternalException::ClientInternalException ( const ClientInternalException & ex )

Default copy constructor.

Parameters

ex ClientInternalException that will be copied.

8.4.2.4 eprosima::rpc::exception::ClientInternalException::ClientInternalException ( ClientInternalException && ex )

Default move constructor.

Parameters

ex ClientInternalException that will be moved.

8.4.3 Member Function Documentation

8.4.3.1 ClientInternalException& eprosima::rpc::exception::ClientInternalException::operator= ( constClientInternalException & ex )

Assigment operation.

Parameters

ex ClientInternalException that will be copied.

8.4.3.2 ClientInternalException& eprosima::rpc::exception::ClientInternalException::operator= (ClientInternalException && ex )

Assigment operation.

Parameters

ex ClientInternalException that will be moved.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/exceptions/ClientInternalException.h

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 48: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

34 Class Documentation

8.5 FooREST::FooResource::Emptyvoid Class Reference

This class represents the structure Emptyvoid defined by the user in the IDL file.

#include <FooREST.h>

Public Member Functions

• Emptyvoid ()

Default constructor.

• ∼Emptyvoid ()

Default destructor.

• Emptyvoid (const Emptyvoid &x)

Copy constructor.

• Emptyvoid (Emptyvoid &&x)

Move constructor.

• Emptyvoid & operator= (const Emptyvoid &x)

Copy assignment.

• Emptyvoid & operator= (Emptyvoid &&x)

Move assignment.

• void status (int32_t _status)

This function sets a value in member status.

• int32_t status () const

This function returns the value of member status.

• int32_t & status ()

This function returns a reference to member status.

8.5.1 Detailed Description

This class represents the structure Emptyvoid defined by the user in the IDL file.

8.5.2 Constructor & Destructor Documentation

8.5.2.1 FooREST::FooResource::Emptyvoid::Emptyvoid ( const Emptyvoid & x )

Copy constructor.

Parameters

x Reference to the object FooREST::FooResource::Emptyvoid that will be copied.

8.5.2.2 FooREST::FooResource::Emptyvoid::Emptyvoid ( Emptyvoid && x )

Move constructor.

Parameters

x Reference to the object FooREST::FooResource::Emptyvoid that will be copied.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 49: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.5 FooREST::FooResource::Emptyvoid Class Reference 35

8.5.3 Member Function Documentation

8.5.3.1 FooREST::FooResource::Emptyvoid & FooREST::FooResource::Emptyvoid::operator= ( const Emptyvoid & x)

Copy assignment.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 50: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

36 Class Documentation

Parameters

x Reference to the object FooREST::FooResource::Emptyvoid that will be copied.

8.5.3.2 FooREST::FooResource::Emptyvoid & FooREST::FooResource::Emptyvoid::operator= ( Emptyvoid && x )

Move assignment.

Parameters

x Reference to the object FooREST::FooResource::Emptyvoid that will be copied.

8.5.3.3 void FooREST::FooResource::Emptyvoid::status ( int32_t _status ) [inline]

This function sets a value in member status.

Parameters

_status New value for member status

8.5.3.4 int32_t FooREST::FooResource::Emptyvoid::status ( ) const [inline]

This function returns the value of member status.

Returns

Value of member status

8.5.3.5 int32_t& FooREST::FooResource::Emptyvoid::status ( ) [inline]

This function returns a reference to member status.

Returns

Reference to member status

The documentation for this class was generated from the following files:

• utils/doxygen/examples/restful/FooREST.h

• utils/doxygen/examples/restful/FooREST.cxx

8.6 eprosima::rpc::transport::Endpoint Class Reference

This class represents an endpoint.

#include <Endpoint.h>

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 51: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.7 eprosima::rpc::exception::Exception Class Reference 37

Inheritance diagram for eprosima::rpc::transport::Endpoint:

eprosima::rpc::transport::Endpoint

eprosima::rpc::transport::TCPEndpoint

Protected Member Functions

• Endpoint ()

Default constructor.

• virtual ∼Endpoint ()

Default destructor.

8.6.1 Detailed Description

This class represents an endpoint.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/transports/components/Endpoint.h

8.7 eprosima::rpc::exception::Exception Class Reference

This abstract class is used to create exceptions.

#include <Exception.h>

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 52: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

38 Class Documentation

Inheritance diagram for eprosima::rpc::exception::Exception:

eprosima::rpc::exception::Exception

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::UserException

std::exception

eprosima::rpc::exception::BadParamException

eprosima::rpc::exception::ClientInternalException

eprosima::rpc::exception::IncompatibleException

eprosima::rpc::exception::InitializeException

eprosima::rpc::exception::ServerInternalException

eprosima::rpc::exception::ServerNotFoundException

eprosima::rpc::exception::ServerTimeoutException

Collaboration diagram for eprosima::rpc::exception::Exception:

eprosima::rpc::exception::Exception

std::exception

Public Member Functions

• virtual ∼Exception () throw ()

Default destructor.

• virtual void raise () const =0

This function throws the object as exception.

Protected Member Functions

• Exception ()

Default constructor.

• Exception (const Exception &ex)

Default copy constructor.

• Exception (Exception &&ex)

Default move constructor.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 53: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.8 eprosima::rpc::protocol::rest::FastBuffer Class Reference 39

• Exception & operator= (const Exception &ex)

Assigment operation.

• Exception & operator= (Exception &&)

Assigment operation.

8.7.1 Detailed Description

This abstract class is used to create exceptions.

8.7.2 Constructor & Destructor Documentation

8.7.2.1 eprosima::rpc::exception::Exception::Exception ( const Exception & ex ) [protected]

Default copy constructor.

Parameters

ex Exception that will be copied.

8.7.2.2 eprosima::rpc::exception::Exception::Exception ( Exception && ex ) [protected]

Default move constructor.

Parameters

ex Exception that will be moved.

8.7.3 Member Function Documentation

8.7.3.1 Exception& eprosima::rpc::exception::Exception::operator= ( const Exception & ex ) [protected]

Assigment operation.

Parameters

ex Exception that will be copied.

8.7.3.2 Exception& eprosima::rpc::exception::Exception::operator= ( Exception && ) [protected]

Assigment operation.

Parameters

ex Exception that will be moved.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/exceptions/Exception.h

8.8 eprosima::rpc::protocol::rest::FastBuffer Class Reference

This class represents a byte stream that contains (or will contain) serialized data. This class is used by the serializersto serialize or deserialize using their own representation.

#include <FastBuffer.h>

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 54: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

40 Class Documentation

Public Types

• typedef _FastBuffer_iterator iterator

Public Member Functions

• FastBuffer ()

This constructor creates an internal stream and assigns it to the eprosima::FastBuffer object. The user can obtainthis internal stream using the function eprosima::FastBuffer::getBuffer(). Be careful because this internal stream isdeleted when destroying the eprosima::FastBuffer object.

• FastBuffer (char ∗const buffer, const size_t bufferSize)

This constructor assigns the user’s byte stream to the eprosima::FastBuffer object. The user’s stream will be used toserialize.

• char ∗ getBuffer () const

This function returns the stream that the eprosima::FastBuffer object uses to serialize data.

• size_t getBufferSize () const

This function returns the allocated memory size of the stream that the eprosima::FastBuffer object to serialize data.

• iterator begin ()

This function returns an iterator which points to the begining of the stream.

• iterator end ()

This function returns an iterator which points to the end of the stream.

• bool resize (size_t minSizeInc)

This function resizes the raw buffer. It will call the user’s defined function for this purpose.

8.8.1 Detailed Description

This class represents a byte stream that contains (or will contain) serialized data. This class is used by the serializersto serialize or deserialize using their own representation.

8.8.2 Constructor & Destructor Documentation

8.8.2.1 eprosima::rpc::protocol::rest::FastBuffer::FastBuffer ( char ∗const buffer, const size_t bufferSize )

This constructor assigns the user’s byte stream to the eprosima::FastBuffer object. The user’s stream will be usedto serialize.

Parameters

buffer The user’s buffer that will be used. This buffer is not deallocated in the object’s destruction.Cannot be NULL.

bufferSize The length of the user’s buffer.

8.8.3 Member Function Documentation

8.8.3.1 iterator eprosima::rpc::protocol::rest::FastBuffer::begin ( ) [inline]

This function returns an iterator which points to the begining of the stream.

Returns

The new iterator.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 55: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.9 FooREST::FooResourceProxy Class Reference 41

8.8.3.2 iterator eprosima::rpc::protocol::rest::FastBuffer::end ( ) [inline]

This function returns an iterator which points to the end of the stream.

Returns

The new iterator.

8.8.3.3 char∗ eprosima::rpc::protocol::rest::FastBuffer::getBuffer ( ) const [inline]

This function returns the stream that the eprosima::FastBuffer object uses to serialize data.

Returns

The stream used by the eprosima::FastBuffer object to serialize data.

8.8.3.4 size_t eprosima::rpc::protocol::rest::FastBuffer::getBufferSize ( ) const [inline]

This function returns the allocated memory size of the stream that the eprosima::FastBuffer object to serialize data.

Returns

The size of the allocated memory of the stream used by the eprosima::FastBuffer object to serialize data.

8.8.3.5 bool eprosima::rpc::protocol::rest::FastBuffer::resize ( size_t minSizeInc )

This function resizes the raw buffer. It will call the user’s defined function for this purpose.

Parameters

minSizeInc The minimun expected growth of the current raw buffer.

Returns

True if the operation works. False if it does not.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/protocols/rest/FastBuffer.h

8.9 FooREST::FooResourceProxy Class Reference

This class implements a specific server’s proxy for the defined interface FooResource.

#include <FooRESTProxy.h>

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 56: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

42 Class Documentation

Inheritance diagram for FooREST::FooResourceProxy:

FooREST::FooResourceProxy

eprosima::rpc::proxy::Proxy

Collaboration diagram for FooREST::FooResourceProxy:

FooREST::FooResourceProxy

eprosima::rpc::proxy::Proxy

Public Member Functions

• FooResourceProxy (eprosima::rpc::transport::ProxyTransport &transport, eprosima::rpc::protocol::FooREST-Protocol &protocol)

This constructor sets the transport that will be used by the server’s proxy.

• virtual ∼FooResourceProxy ()

Destructor.

• void FooProcedure ()

Proxy method for the operation FooProcedure.

Additional Inherited Members

8.9.1 Detailed Description

This class implements a specific server’s proxy for the defined interface FooResource.

8.9.2 Constructor & Destructor Documentation

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 57: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.9 FooREST::FooResourceProxy Class Reference 43

8.9.2.1 FooREST::FooResourceProxy::FooResourceProxy ( eprosima::rpc::transport::ProxyTransport & transport,eprosima::rpc::protocol::FooRESTProtocol & protocol )

This constructor sets the transport that will be used by the server’s proxy.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 58: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

44 Class Documentation

Parameters

transport The network transport that server’s proxy has to use. This transport’s object is not deleted bythis class in its destructor. Cannot be NULL.

protocol The protocol used to send the information over the transport. This protocol’s object is notdeleted by this class in its destructor. Cannot be NULL.

Exceptions

eprosima::rpc::exception::-InitializeException

This exception is thrown when the initialization was wrong.

The documentation for this class was generated from the following files:

• utils/doxygen/examples/restful/FooRESTProxy.h• utils/doxygen/examples/restful/FooRESTProxy.cxx

8.10 FooREST::FooResourceServer Class Reference

This class implements a specific server for the defined interface FooResource by user.

#include <FooRESTServer.h>

Inheritance diagram for FooREST::FooResourceServer:

FooREST::FooResourceServer

eprosima::rpc::server::Server

Collaboration diagram for FooREST::FooResourceServer:

FooREST::FooResourceServer

eprosima::rpc::server::Server

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 59: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.11 FooREST::FooResourceServerImpl Class Reference 45

Public Member Functions

• FooResourceServer (eprosima::rpc::strategy::ServerStrategy &strategy, eprosima::rpc::transport::Server-Transport &transport, eprosima::rpc::protocol::FooRESTProtocol &protocol, FooResourceServerImpl &ser-vant)

This constructor sets the transport that will be used by the server.

• virtual ∼FooResourceServer ()

Destructor.

Additional Inherited Members

8.10.1 Detailed Description

This class implements a specific server for the defined interface FooResource by user.

8.10.2 Constructor & Destructor Documentation

8.10.2.1 FooREST::FooResourceServer::FooResourceServer ( eprosima::rpc::strategy::ServerStrategy & strategy,eprosima::rpc::transport::ServerTransport & transport, eprosima::rpc::protocol::FooRESTProtocol& protocol, FooResourceServerImpl & servant )

This constructor sets the transport that will be used by the server.

Parameters

strategy Strategy used by server to work with new requests. This class doesn’t delete this object in itsdestructor. Cannot be NULL.

transport The network transport that the server has to use. This transport’s object is not deleted by thisclass in its destructor. Cannot be NULL.

protocol Generated protocol that the server has to use. This class has the information to processrequests and build responses for this application environment.

servant Servant that the server will use to invoke user’s functions.

Exceptions

eProsima::RPCDDS::-InitializeException

This exception is thrown when the initialization was wrong.

The documentation for this class was generated from the following files:

• utils/doxygen/examples/restful/FooRESTServer.h• utils/doxygen/examples/restful/FooRESTServer.cxx

8.11 FooREST::FooResourceServerImpl Class Reference

This class is the skeleton of the servant and its remote procedures has to be implemented.

#include <FooRESTServerImpl.h>

Public Member Functions

• FooResourceServerImpl ()

The default constructor.

• virtual ∼FooResourceServerImpl ()

Destructor.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 60: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

46 Class Documentation

• virtual void FooProcedure ()=0

Skeleton of the operation FooProcedure.

8.11.1 Detailed Description

This class is the skeleton of the servant and its remote procedures has to be implemented.

The documentation for this class was generated from the following file:

• utils/doxygen/examples/restful/FooRESTServerImpl.h

8.12 eprosima::rpc::protocol::FooRESTProtocol Class Reference

Protocol base class for the specific application.

#include <FooRESTProtocol.h>

Inheritance diagram for eprosima::rpc::protocol::FooRESTProtocol:

eprosima::rpc::protocol::FooRESTProtocol

eprosima::rpc::protocol::rest::FooRESTProtocol

eprosima::rpc::protocol::Protocol

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 61: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.12 eprosima::rpc::protocol::FooRESTProtocol Class Reference 47

Collaboration diagram for eprosima::rpc::protocol::FooRESTProtocol:

eprosima::rpc::protocol::FooRESTProtocol

eprosima::rpc::protocol::Protocol FooREST::FooResourceServerImpl

_FooREST_FooResource_impl

Public Member Functions

• virtual bool setTransport (eprosima::rpc::transport::Transport &transport)=0

This method sets the transport for the communications. It has to be implemented by the children classes.• virtual bool activateInterface (const char ∗interfaceName)=0

In some protocols this function activates needed entities to use an interface.• void linkFooREST_FooResourceImpl (FooREST::FooResourceServerImpl &impl)

This method links a specific servant with the protocol.• virtual void FooREST_FooResource_FooProcedure ()=0

This method implements the proxy part of the protocol for the operation FooProcedure. It has to be implemented bythe child classes.

Protected Attributes

• FooREST::FooResourceServerImpl ∗ _FooREST_FooResource_impl

Additional Inherited Members

8.12.1 Detailed Description

Protocol base class for the specific application.

8.12.2 Member Function Documentation

8.12.2.1 virtual bool eprosima::rpc::protocol::FooRESTProtocol::activateInterface ( const char ∗ interfaceName ) [purevirtual]

In some protocols this function activates needed entities to use an interface.

Parameters

interfaceName Interface name.

Returns

Whether the activation works successfully.

Implemented in eprosima::rpc::protocol::rest::FooRESTProtocol.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 62: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

48 Class Documentation

8.12.2.2 void eprosima::rpc::protocol::FooRESTProtocol::linkFooREST_FooResourceImpl (FooREST::FooResourceServerImpl & impl ) [inline]

This method links a specific servant with the protocol.

Parameters

impl Servant implementation.

8.12.2.3 virtual bool eprosima::rpc::protocol::FooRESTProtocol::setTransport ( eprosima::rpc::transport::Transport &transport ) [pure virtual]

This method sets the transport for the communications. It has to be implemented by the children classes.

Parameters

transport Transport to use.

Returns

True if the assignment is successful, false otherwise

Implements eprosima::rpc::protocol::Protocol.

Implemented in eprosima::rpc::protocol::rest::FooRESTProtocol.

The documentation for this class was generated from the following file:

• utils/doxygen/examples/restful/FooRESTProtocol.h

8.13 eprosima::rpc::protocol::rest::FooRESTProtocol Class Reference

This class is responsible for serializing and deserializing the requests and responses of this application. It uses aRESTful protocol.

#include <FooRESTRESTProtocol.h>

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 63: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.13 eprosima::rpc::protocol::rest::FooRESTProtocol Class Reference 49

Inheritance diagram for eprosima::rpc::protocol::rest::FooRESTProtocol:

eprosima::rpc::protocol::rest::FooRESTProtocol

eprosima::rpc::protocol::FooRESTProtocol

eprosima::rpc::protocol::Protocol

Collaboration diagram for eprosima::rpc::protocol::rest::FooRESTProtocol:

eprosima::rpc::protocol::rest::FooRESTProtocol

eprosima::rpc::protocol::FooRESTProtocol

eprosima::rpc::protocol::Protocol FooREST::FooResourceServerImpl

_FooREST_FooResource_impl

Public Member Functions

• FooRESTProtocol ()

Default constructor.

• virtual ∼FooRESTProtocol ()

Default destructor.

• bool setTransport (eprosima::rpc::transport::Transport &transport)

This method sets the transport for the communications. It must be an HTTP transport.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 64: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

50 Class Documentation

• bool activateInterface (const char ∗interfaceName)

This method does not apply to this class.

• eprosima::rpc::transport::HttpMessage deserialize_FooResource_FooProcedure (RESTSerializer &rest-Serializer, eprosima::rpc::transport::HttpMessage &httpMessage)

This method implements the server part of the protocol for the operation FooProcedure.

• void FooREST_FooResource_FooProcedure ()

This method implements the proxy part of the protocol for the operation FooProcedure.

• eprosima::rpc::transport::HttpMessage processRequest (eprosima::rpc::transport::HttpMessage &http-Message)

Static Public Member Functions

• static void worker (Protocol &protocol, void ∗&data, size_t dataLength, eprosima::rpc::transport::Endpoint∗endpoint)

This callback receives the requests and calls the specific protocol to process them.

Additional Inherited Members

8.13.1 Detailed Description

This class is responsible for serializing and deserializing the requests and responses of this application. It uses aRESTful protocol.

8.13.2 Member Function Documentation

8.13.2.1 bool eprosima::rpc::protocol::rest::FooRESTProtocol::setTransport ( eprosima::rpc::transport::Transport &transport ) [virtual]

This method sets the transport for the communications. It must be an HTTP transport.

Parameters

transport Transport to use

Returns

True if the assignment is successful, false otherwise

Implements eprosima::rpc::protocol::FooRESTProtocol.

8.13.2.2 void FooRESTProtocol::worker ( Protocol & protocol, void ∗& data, size_t dataLength,eprosima::rpc::transport::Endpoint ∗ endpoint ) [static]

This callback receives the requests and calls the specific protocol to process them.

Parameters

protocol Protocol that must process the requestdata Received data

dataLength received data length

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 65: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.14 eprosima::rpc::protocol::rest::HTTPData Class Reference 51

endpoint Proxy endpoint where the request came from

The documentation for this class was generated from the following files:

• utils/doxygen/examples/restful/FooRESTRESTProtocol.h• utils/doxygen/examples/restful/FooRESTRESTProtocol.cxx

8.14 eprosima::rpc::protocol::rest::HTTPData Class Reference

This class represents the content of an HTTP message.

#include <HTTPEntities.h>

Public Member Functions

• HTTPData ()

Default constructor.

• HTTPData (std::string &host)

HTTPData constructor.

• HTTPData (std::string &clength, std::string &ctype, std::string &data)

HTTPData constructor.

• HTTPData (std::string &host, std::string &clength, std::string &ctype, std::string &data)

HTTPData constructor.

• ∼HTTPData ()

Default destructor.

• std::string & get_data ()

Gets the string representation of the HTTP body.

• void set_data (std::string &data)

Copies the string representation of the HTTP body and its headers.

• void set_data (std::string &&data)

Moves the string representation of the HTTP body.

• string getMediaType ()

Gets the Content-Type field of the HTTP message.

• string getData ()

Gets the body of the HTTP message.

8.14.1 Detailed Description

This class represents the content of an HTTP message.

8.14.2 Constructor & Destructor Documentation

8.14.2.1 eprosima::rpc::protocol::rest::HTTPData::HTTPData ( std::string & host )

HTTPData constructor.

Parameters

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 66: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

52 Class Documentation

host Content of the "Host" header.

8.14.2.2 eprosima::rpc::protocol::rest::HTTPData::HTTPData ( std::string & clength, std::string & ctype, std::string & data )

HTTPData constructor.

Parameters

clength Content of the "Content-Length" header.ctype Content of the "Content-Type" header.data HTTP body.

8.14.2.3 eprosima::rpc::protocol::rest::HTTPData::HTTPData ( std::string & host, std::string & clength, std::string & ctype,std::string & data )

HTTPData constructor.

Parameters

host Content of the "Host" header.clength Content of the "Content-Length" header.

ctype Content of the "Content-Type" header.data HTTP body.

8.14.3 Member Function Documentation

8.14.3.1 std::string& eprosima::rpc::protocol::rest::HTTPData::get_data ( ) [inline]

Gets the string representation of the HTTP body.

Returns

String representation of the HTTP body.

8.14.3.2 string eprosima::rpc::protocol::rest::HTTPData::getData ( )

Gets the body of the HTTP message.

Returns

Body of the HTTP message.

8.14.3.3 string eprosima::rpc::protocol::rest::HTTPData::getMediaType ( )

Gets the Content-Type field of the HTTP message.

Returns

Content-Type field of the HTTP message.

8.14.3.4 void eprosima::rpc::protocol::rest::HTTPData::set_data ( std::string & data ) [inline]

Copies the string representation of the HTTP body and its headers.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 67: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.15 eprosima::rpc::transport::HttpMessage Class Reference 53

Parameters

data String representation of the HTTP body and its headers.

8.14.3.5 void eprosima::rpc::protocol::rest::HTTPData::set_data ( std::string && data ) [inline]

Moves the string representation of the HTTP body.

Parameters

data String representation of the HTTP body.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/protocols/rest/HTTPEntities.h

8.15 eprosima::rpc::transport::HttpMessage Class Reference

This class represents an HTTP message.

#include <HttpMessage.h>

Public Types

• enum Methods {HTTP_METHOD_GET = 0, HTTP_METHOD_PUT, HTTP_METHOD_POST, HTTP_METHOD_DELETE,HTTP_METHOD_INVALID }

This enumerator represents the supported HTTP request methods.

• typedef enumeprosima::rpc::transport::HttpMessage::Methods Methods

This enumerator represents the supported HTTP request methods.

Public Member Functions

• HttpMessage ()

Default constructor.

• HttpMessage (const HttpMessage &httpMessage)

Copy constructor.

• HttpMessage (HttpMessage &&httpMessage)

Move constructor.

• void setMethod (const Methods method)

Sets the HTTP method of the request message.

• Methods getMethod ()

Gets the HTTP method of the request message as an enumerator.

• const std::string & getMethodStr () const

Gets the HTTP method a of the request message s a string.

• void setHost (const std::string &host)

Copies the HTTP host.

• void setHost (std::string &&host)

Moves the HTTP host.

• const std::string & getHost () const

Gets the HTTP host.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 68: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

54 Class Documentation

• void setUri (const std::string &uri)

Copies the resource URI. This will be the requested resource in an HTTP request.

• void setUri (std::string &&uri)

Moves the resource URI. This will be the requested resource in an HTTP request.

• const std::string & getUri () const

Gets the resource URI.

• void setBodyContentType (const std::string &body_content_type)

Copies the content of the Content-Type header.

• void setBodyContentType (std::string &&body_content_type)

Moves the content of the Content-Type header.

• const std::string & getBodyContentType () const

Gets the content of the Content-Type header.

• void setBodyContentLength (const std::string &body_content_length)

Copies the content of the Content-Length header.

• size_t getBodyContentLength () const

Gets the content of the Content-Length header.

• void setBodyData (const std::string &body_data)

Copies the body of the HTTP message.

• void setBodyData (std::string &&body_data)

Moves the body of the HTTP message.

• const std::string & getBodyData () const

Gets the body of the HTTP message.

• void setResponseCode (int32_t responseCode)

Copies the HTTP response numeric code.

• int32_t getResponseCode () const

Gets the HTTP response numeric code.

• void setResponseStatus (const std::string &responseStatus)

Copies the response status, a brief string explanation about the HTTP code.

• void setResponseStatus (std::string &&responseStatus)

Moves the response status, a brief string explanation about the HTTP code.

• const std::string & getResponseStatus () const

Gets the response status, a brief string explanation about the HTTP code.

• void setVersionCompatible (bool b)

Sets a boolean indicating if the HTTP version is 1.1.

• bool getVersionCompatible () const

Gets a boolean indicating if the HTTP version is 1.1.

• bool getContainsResponseStatus ()

This methods indicates wether the HTTP message contains the optional HTTP response status message.

8.15.1 Detailed Description

This class represents an HTTP message.

8.15.2 Constructor & Destructor Documentation

8.15.2.1 eprosima::rpc::transport::HttpMessage::HttpMessage ( const HttpMessage & httpMessage ) [inline]

Copy constructor.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 69: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.15 eprosima::rpc::transport::HttpMessage Class Reference 55

Parameters

httpMessage Original HTTPMessage object to copy the data from

8.15.2.2 eprosima::rpc::transport::HttpMessage::HttpMessage ( HttpMessage && httpMessage ) [inline]

Move constructor.

Parameters

httpMessage Original HTTPMessage object to move the data from.

8.15.3 Member Function Documentation

8.15.3.1 size_t eprosima::rpc::transport::HttpMessage::getBodyContentLength ( ) const [inline]

Gets the content of the Content-Length header.

Returns

Content of the Content-Length header

8.15.3.2 const std::string& eprosima::rpc::transport::HttpMessage::getBodyContentType ( ) const [inline]

Gets the content of the Content-Type header.

Returns

Content of the Content-Type header

8.15.3.3 const std::string& eprosima::rpc::transport::HttpMessage::getBodyData ( ) const [inline]

Gets the body of the HTTP message.

Returns

Body of the HTTP message

8.15.3.4 bool eprosima::rpc::transport::HttpMessage::getContainsResponseStatus ( ) [inline]

This methods indicates wether the HTTP message contains the optional HTTP response status message.

Returns

b True if the HTTP status is present and false otherwise

8.15.3.5 const std::string& eprosima::rpc::transport::HttpMessage::getHost ( ) const [inline]

Gets the HTTP host.

Returns

URL of the HTTP host

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 70: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

56 Class Documentation

8.15.3.6 Methods eprosima::rpc::transport::HttpMessage::getMethod ( ) [inline]

Gets the HTTP method of the request message as an enumerator.

Returns

Enumerator representation of the HTTP method

8.15.3.7 const std::string& eprosima::rpc::transport::HttpMessage::getMethodStr ( ) const [inline]

Gets the HTTP method a of the request message s a string.

Returns

String representation of the HTTP method

8.15.3.8 int32_t eprosima::rpc::transport::HttpMessage::getResponseCode ( ) const [inline]

Gets the HTTP response numeric code.

Returns

HTTP response code.

8.15.3.9 const std::string& eprosima::rpc::transport::HttpMessage::getResponseStatus ( ) const [inline]

Gets the response status, a brief string explanation about the HTTP code.

Returns

HTTP status.

8.15.3.10 const std::string& eprosima::rpc::transport::HttpMessage::getUri ( ) const [inline]

Gets the resource URI.

Returns

URI of the requested resource

8.15.3.11 bool eprosima::rpc::transport::HttpMessage::getVersionCompatible ( ) const [inline]

Gets a boolean indicating if the HTTP version is 1.1.

Returns

b True for HTTP version 1.1 and false otherwise

8.15.3.12 void eprosima::rpc::transport::HttpMessage::setBodyContentLength ( const std::string & body_content_length )[inline]

Copies the content of the Content-Length header.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 71: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.15 eprosima::rpc::transport::HttpMessage Class Reference 57

Parameters

body_content_-length

Content of the Content-Length header

8.15.3.13 void eprosima::rpc::transport::HttpMessage::setBodyContentType ( const std::string & body_content_type )[inline]

Copies the content of the Content-Type header.

Parameters

body_content_-type

Content of the Content-Type header

8.15.3.14 void eprosima::rpc::transport::HttpMessage::setBodyContentType ( std::string && body_content_type )[inline]

Moves the content of the Content-Type header.

Parameters

body_content_-type

Content of the Content-Type header

8.15.3.15 void eprosima::rpc::transport::HttpMessage::setBodyData ( const std::string & body_data ) [inline]

Copies the body of the HTTP message.

Parameters

body_data Body of the HTTP message

8.15.3.16 void eprosima::rpc::transport::HttpMessage::setBodyData ( std::string && body_data ) [inline]

Moves the body of the HTTP message.

Parameters

body_data Body of the HTTP message

8.15.3.17 void eprosima::rpc::transport::HttpMessage::setHost ( const std::string & host ) [inline]

Copies the HTTP host.

Parameters

host URL of the HTTP host. This string will be the content of the ’Host’ header.

8.15.3.18 void eprosima::rpc::transport::HttpMessage::setHost ( std::string && host ) [inline]

Moves the HTTP host.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 72: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

58 Class Documentation

Parameters

host URL of the HTTP host. This string will be the content of the ’Host’ header.

8.15.3.19 void eprosima::rpc::transport::HttpMessage::setMethod ( const Methods method ) [inline]

Sets the HTTP method of the request message.

Parameters

method HTTP request method to set

8.15.3.20 void eprosima::rpc::transport::HttpMessage::setResponseCode ( int32_t responseCode ) [inline]

Copies the HTTP response numeric code.

Parameters

responseCode HTTP response code.

8.15.3.21 void eprosima::rpc::transport::HttpMessage::setResponseStatus ( const std::string & responseStatus )[inline]

Copies the response status, a brief string explanation about the HTTP code.

Parameters

responseStatus HTTP status.

8.15.3.22 void eprosima::rpc::transport::HttpMessage::setResponseStatus ( std::string && responseStatus ) [inline]

Moves the response status, a brief string explanation about the HTTP code.

Parameters

responseStatus HTTP status.

8.15.3.23 void eprosima::rpc::transport::HttpMessage::setUri ( const std::string & uri ) [inline]

Copies the resource URI. This will be the requested resource in an HTTP request.

Parameters

uri URI of the requested resource

8.15.3.24 void eprosima::rpc::transport::HttpMessage::setUri ( std::string && uri ) [inline]

Moves the resource URI. This will be the requested resource in an HTTP request.

Parameters

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 73: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.16 eprosima::rpc::protocol::rest::HTTPMethod Class Reference 59

uri URI of the requested resource

8.15.3.25 void eprosima::rpc::transport::HttpMessage::setVersionCompatible ( bool b ) [inline]

Sets a boolean indicating if the HTTP version is 1.1.

Parameters

b This boolean has to be true for HTTP version 1.1 and false otherwise

The documentation for this class was generated from the following file:

• includetmp/rpcrest/transports/messages/HttpMessage.h

8.16 eprosima::rpc::protocol::rest::HTTPMethod Class Reference

This class represents an HTTP method.

#include <HTTPEntities.h>

Public Member Functions

• HTTPMethod ()

Default constructor.

• HTTPMethod (Method method)

Copy constructor.

• ∼HTTPMethod ()

Default destructor.

• std::string & get_data ()

Gets a string representation of the HTTP method.

• Method getMethod ()

Gets an enumeration representation of the HTTP method.

• void set_data (const std::string &data)

Copies the string representation of an HTTP method.

• void set_data (std::string &&data)

Moves the string representation of an HTTP method.

8.16.1 Detailed Description

This class represents an HTTP method.

8.16.2 Member Function Documentation

8.16.2.1 std::string& eprosima::rpc::protocol::rest::HTTPMethod::get_data ( ) [inline]

Gets a string representation of the HTTP method.

Returns

The string representation of the HTTP method.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 74: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

60 Class Documentation

8.16.2.2 Method eprosima::rpc::protocol::rest::HTTPMethod::getMethod ( ) [inline]

Gets an enumeration representation of the HTTP method.

Returns

The enumeration representation of the HTTP method.

8.16.2.3 void eprosima::rpc::protocol::rest::HTTPMethod::set_data ( const std::string & data ) [inline]

Copies the string representation of an HTTP method.

Parameters

data A string representation of an HTTP method.

8.16.2.4 void eprosima::rpc::protocol::rest::HTTPMethod::set_data ( std::string && data ) [inline]

Moves the string representation of an HTTP method.

Parameters

data A string representation of an HTTP method.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/protocols/rest/HTTPEntities.h

8.17 eprosima::rpc::protocol::rest::HTTPParam Class Reference

This class represents an HTTP query parameter.

#include <HTTPEntities.h>

Public Member Functions

• HTTPParam ()

Default constructor.

• HTTPParam (std::string &name, std::string &value)

HTTPParam constructor.

• ∼HTTPParam ()

Default destructor.

• std::string & get_data ()

Gets the string representation of an HTTP query parameter.

• void set_data (const std::string &data)

Copies the string representation of an HTTP query parameter.

• void set_data (std::string &&data)

Moves the string representation of an HTTP query parameter.

• string getName ()

Gets the parameter name.

• string getValue ()

Gets the parameter value.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 75: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.17 eprosima::rpc::protocol::rest::HTTPParam Class Reference 61

8.17.1 Detailed Description

This class represents an HTTP query parameter.

8.17.2 Constructor & Destructor Documentation

8.17.2.1 eprosima::rpc::protocol::rest::HTTPParam::HTTPParam ( std::string & name, std::string & value )

HTTPParam constructor.

Parameters

name Parameter name.value Parameter value.

8.17.3 Member Function Documentation

8.17.3.1 std::string& eprosima::rpc::protocol::rest::HTTPParam::get_data ( ) [inline]

Gets the string representation of an HTTP query parameter.

Returns

String representation of an HTTP query parameter.

8.17.3.2 string eprosima::rpc::protocol::rest::HTTPParam::getName ( ) [inline]

Gets the parameter name.

Returns

Parameter name.

8.17.3.3 string eprosima::rpc::protocol::rest::HTTPParam::getValue ( ) [inline]

Gets the parameter value.

Returns

Parameter value.

8.17.3.4 void eprosima::rpc::protocol::rest::HTTPParam::set_data ( const std::string & data ) [inline]

Copies the string representation of an HTTP query parameter.

Parameters

data String representation of an HTTP query parameter.

8.17.3.5 void eprosima::rpc::protocol::rest::HTTPParam::set_data ( std::string && data ) [inline]

Moves the string representation of an HTTP query parameter.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 76: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

62 Class Documentation

Parameters

data String representation of an HTTP query parameter.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/protocols/rest/HTTPEntities.h

8.18 eprosima::rpc::protocol::rest::HTTPParameters Class Reference

This class represents an HTTP query parameter.

#include <HTTPEntities.h>

Public Member Functions

• HTTPParameters ()

Default constructor.

• ∼HTTPParameters ()

Default destructor.

• size_t & get_size ()

Gets the number of HTTP query parameters.

• std::vector< HTTPParam > & get_params ()

Gets the vector containing the HTTP query parameters.

• std::string & get_data ()

Gets a string representation of the HTTP query parameters.

• void set_data (std::string &&data)

Moves the string representation of the HTTP query parameters.

• void addParam (HTTPParam &param)

Adds an HTTPParam to the set of HTTP parameters.

• bool containsParam (string name)

Checks if the set already contains a certain HTTP query parameter.

8.18.1 Detailed Description

This class represents an HTTP query parameter.

8.18.2 Member Function Documentation

8.18.2.1 void eprosima::rpc::protocol::rest::HTTPParameters::addParam ( HTTPParam & param )

Adds an HTTPParam to the set of HTTP parameters.

Parameters

param HTTP parameter to add.

8.18.2.2 bool eprosima::rpc::protocol::rest::HTTPParameters::containsParam ( string name ) [inline]

Checks if the set already contains a certain HTTP query parameter.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 77: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.19 eprosima::rpc::transport::HttpProxyTransport Class Reference 63

Parameters

name Name of the HTTP parameter.

Returns

True if the parameter is in the set, false if it is not.

8.18.2.3 std::string& eprosima::rpc::protocol::rest::HTTPParameters::get_data ( ) [inline]

Gets a string representation of the HTTP query parameters.

Returns

String representation of the HTTP query parameters.

8.18.2.4 std::vector<HTTPParam>& eprosima::rpc::protocol::rest::HTTPParameters::get_params ( ) [inline]

Gets the vector containing the HTTP query parameters.

Returns

Vector containing the HTTP parameters.

8.18.2.5 size_t& eprosima::rpc::protocol::rest::HTTPParameters::get_size ( ) [inline]

Gets the number of HTTP query parameters.

Returns

Number of HTTP parameters.

8.18.2.6 void eprosima::rpc::protocol::rest::HTTPParameters::set_data ( std::string && data )

Moves the string representation of the HTTP query parameters.

Parameters

data String representation of the HTTP query parameters.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/protocols/rest/HTTPEntities.h

8.19 eprosima::rpc::transport::HttpProxyTransport Class Reference

This interface is the base of all proxy classes that implement an HTTP transport.

#include <HttpProxyTransport.h>

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 78: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

64 Class Documentation

Inheritance diagram for eprosima::rpc::transport::HttpProxyTransport:

eprosima::rpc::transport::HttpProxyTransport

eprosima::rpc::transport::ProxyTransport

eprosima::rpc::transport::Transport

Collaboration diagram for eprosima::rpc::transport::HttpProxyTransport:

eprosima::rpc::transport::HttpProxyTransport

eprosima::rpc::transport::ProxyTransport

eprosima::rpc::transport::Transport

Public Member Functions

• HttpProxyTransport (const std::string &serverAddress)

Default constructor.

• virtual ∼HttpProxyTransport ()

Default destructor.

• virtual const char ∗ getType () const

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 79: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.19 eprosima::rpc::transport::HttpProxyTransport Class Reference 65

This function returns the type of the transport. In this case, it is HTTP.

• bool connect ()

Starts an HTTP connection with an HTTP server.

• bool send (const void ∗buffer, const size_t bufferSize)

Sends an HTTP request to the server.

• int receive (void ∗buffer, const size_t bufferSize, size_t &dataToRead)

Receives an HTTP response from the server.

8.19.1 Detailed Description

This interface is the base of all proxy classes that implement an HTTP transport.

8.19.2 Constructor & Destructor Documentation

8.19.2.1 eprosima::rpc::transport::HttpProxyTransport::HttpProxyTransport ( const std::string & serverAddress )

Default constructor.

Parameters

serverAddress Server IP address or URL.

8.19.3 Member Function Documentation

8.19.3.1 bool eprosima::rpc::transport::HttpProxyTransport::connect ( ) [virtual]

Starts an HTTP connection with an HTTP server.

Returns

true if the operation is successful, false otherwise.

Implements eprosima::rpc::transport::ProxyTransport.

8.19.3.2 int eprosima::rpc::transport::HttpProxyTransport::receive ( void ∗ buffer, const size_t bufferSize, size_t & dataToRead) [virtual]

Receives an HTTP response from the server.

Parameters

buffer Buffer that will contain the HTTP message.bufferSize This parameter is not used in this class.

dataToRead Number of bytes received.

Returns

-1 if the operation fails.

Implements eprosima::rpc::transport::ProxyTransport.

8.19.3.3 bool eprosima::rpc::transport::HttpProxyTransport::send ( const void ∗ buffer, const size_t bufferSize )[virtual]

Sends an HTTP request to the server.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 80: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

66 Class Documentation

Parameters

buffer Buffer containing the HTTP message.bufferSize This parameter is not used in this class.

Returns

true if the operation is successful, false otherwise.

Implements eprosima::rpc::transport::ProxyTransport.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/transports/HttpProxyTransport.h

8.20 eprosima::rpc::protocol::rest::HTTPResponseCode Class Reference

This class represents the response code of an HTTP response message.

#include <HTTPEntities.h>

Public Member Functions

• HTTPResponseCode ()

Default constructor.

• HTTPResponseCode (std::string &code, std::string &text)

HTTPResponseCode constructor.

• ∼HTTPResponseCode ()

Default destructor.

• std::string & get_data ()

Gets a string representation of the HTTP response code.

• void set_data (std::string &data)

Copies the string representation of the HTTP response code.

• void set_data (std::string &&data)

Moves the string representation of the HTTP response code.

• int getStatusCode ()

Gets the HTTP status code as an integer.

8.20.1 Detailed Description

This class represents the response code of an HTTP response message.

8.20.2 Constructor & Destructor Documentation

8.20.2.1 eprosima::rpc::protocol::rest::HTTPResponseCode::HTTPResponseCode ( std::string & code, std::string & text )

HTTPResponseCode constructor.

Parameters

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 81: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.21 eprosima::rpc::transport::HttpServerTransport Class Reference 67

code HTTP response code.text HTTP response text.

8.20.3 Member Function Documentation

8.20.3.1 std::string& eprosima::rpc::protocol::rest::HTTPResponseCode::get_data ( ) [inline]

Gets a string representation of the HTTP response code.

Returns

String representation of the HTTP response code.

8.20.3.2 int eprosima::rpc::protocol::rest::HTTPResponseCode::getStatusCode ( ) [inline]

Gets the HTTP status code as an integer.

Returns

HTTP status code.

8.20.3.3 void eprosima::rpc::protocol::rest::HTTPResponseCode::set_data ( std::string & data ) [inline]

Copies the string representation of the HTTP response code.

Parameters

data String representation of the HTTP response code.

8.20.3.4 void eprosima::rpc::protocol::rest::HTTPResponseCode::set_data ( std::string && data ) [inline]

Moves the string representation of the HTTP response code.

Parameters

data String representation of the HTTP response code.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/protocols/rest/HTTPEntities.h

8.21 eprosima::rpc::transport::HttpServerTransport Class Reference

This interface is the base of all classes that implement a transport that could be used by a proxy.

#include <HttpServerTransport.h>

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 82: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

68 Class Documentation

Inheritance diagram for eprosima::rpc::transport::HttpServerTransport:

eprosima::rpc::transport::HttpServerTransport

eprosima::rpc::transport::ServerTransport

eprosima::rpc::transport::Transport

Collaboration diagram for eprosima::rpc::transport::HttpServerTransport:

eprosima::rpc::transport::HttpServerTransport

eprosima::rpc::transport::ServerTransport

eprosima::rpc::transport::Transport

Public Member Functions

• HttpServerTransport (const std::string &to_connect)

Default constructor.

• virtual ∼HttpServerTransport ()

Default destructor.

• virtual const char ∗ getType () const

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 83: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.21 eprosima::rpc::transport::HttpServerTransport Class Reference 69

This function returns the type of the transport.

• void run ()

This method runs the TCP server needed for the HTTP connections.

• void stop ()

This method stops the TCP server needed for the HTTP connections.

• void sendReply (void ∗data, size_t dataLength, Endpoint ∗connection)

This function is used to send a reply to a proxy.

• int receive (char ∗buffer, size_t bufferLength, size_t &dataToRead, Endpoint ∗endpoint)

This function does not apply to HTTP transport..

• void bossProcess (TCPEndpoint ∗connection)

This callback method is invoked when a request arrives. It makes the thread strategy schedule the incoming request.

• void worker (TCPEndpoint ∗connection)

This callback method is invoked by the thread strategy when a request arrives. It gets the request from the TCPendpoint.

8.21.1 Detailed Description

This interface is the base of all classes that implement a transport that could be used by a proxy.

8.21.2 Constructor & Destructor Documentation

8.21.2.1 eprosima::rpc::transport::HttpServerTransport::HttpServerTransport ( const std::string & to_connect )

Default constructor.

Parameters

to_connect Listening IP interface.

8.21.3 Member Function Documentation

8.21.3.1 void eprosima::rpc::transport::HttpServerTransport::bossProcess ( TCPEndpoint ∗ connection )

This callback method is invoked when a request arrives. It makes the thread strategy schedule the incoming request.

Parameters

connection Incoming endpoint.

8.21.3.2 void eprosima::rpc::transport::HttpServerTransport::sendReply ( void ∗ data, size_t dataLength, Endpoint ∗connection ) [virtual]

This function is used to send a reply to a proxy.

Parameters

data HTTP response to send.dataLength Length of the data to send.

endpoint Target endpoint to send the data to.

Implements eprosima::rpc::transport::ServerTransport.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 84: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

70 Class Documentation

8.21.3.3 void eprosima::rpc::transport::HttpServerTransport::worker ( TCPEndpoint ∗ connection )

This callback method is invoked by the thread strategy when a request arrives. It gets the request from the TCPendpoint.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 85: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.22 eprosima::rpc::protocol::rest::HTTPUri Class Reference 71

Parameters

connection Incoming endpoint

The documentation for this class was generated from the following file:

• includetmp/rpcrest/transports/HttpServerTransport.h

8.22 eprosima::rpc::protocol::rest::HTTPUri Class Reference

This class represents an HTTP URI.

#include <HTTPEntities.h>

Public Member Functions

• HTTPUri ()

Default constructor.

• HTTPUri (std::string &path)

HTTPUri Constructor.

• ∼HTTPUri ()

Default constructor.

• void setHost (string host)

Sets the "host" part of the URI.

• void setBaseUri (string baseUri)

Sets the base URI of a given RESTful application.

• std::string getPath ()

Sets the "path" part of the URI.

• std::string getResourcePath ()

Gets the resources path of the URI. The resources path is the complete URI minus the declared base URI.

• std::string get_data ()

Gets a string representation of the URI.

• void set_data (std::string data)

Sets the string representation of the URI.

8.22.1 Detailed Description

This class represents an HTTP URI.

8.22.2 Constructor & Destructor Documentation

8.22.2.1 eprosima::rpc::protocol::rest::HTTPUri::HTTPUri ( std::string & path )

HTTPUri Constructor.

Parameters

path String representation of the URI.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 86: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

72 Class Documentation

8.22.3 Member Function Documentation

8.22.3.1 std::string eprosima::rpc::protocol::rest::HTTPUri::get_data ( ) [inline]

Gets a string representation of the URI.

Returns

String representation of the URI.

8.22.3.2 std::string eprosima::rpc::protocol::rest::HTTPUri::getPath ( ) [inline]

Sets the "path" part of the URI.

Returns

String representation of the path.

8.22.3.3 std::string eprosima::rpc::protocol::rest::HTTPUri::getResourcePath ( ) [inline]

Gets the resources path of the URI. The resources path is the complete URI minus the declared base URI.

Returns

String representation of the resources path.

8.22.3.4 void eprosima::rpc::protocol::rest::HTTPUri::set_data ( std::string data ) [inline]

Sets the string representation of the URI.

Parameters

data String representation of the URI.

8.22.3.5 void eprosima::rpc::protocol::rest::HTTPUri::setBaseUri ( string baseUri ) [inline]

Sets the base URI of a given RESTful application.

Parameters

host String representation of the base URI.

8.22.3.6 void eprosima::rpc::protocol::rest::HTTPUri::setHost ( string host ) [inline]

Sets the "host" part of the URI.

Parameters

host String representation of the host.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/protocols/rest/HTTPEntities.h

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 87: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.23 eprosima::rpc::protocol::rest::HTTPVersion Class Reference 73

8.23 eprosima::rpc::protocol::rest::HTTPVersion Class Reference

This class represents an HTTP version.

#include <HTTPEntities.h>

Public Member Functions

• HTTPVersion ()

Default constructor.• ∼HTTPVersion ()

Default destructor.• void set_data (const std::string &data)

Copies the string representation of the HTTP version.• void set_data (std::string &&data)

Moves the string representation of the HTTP version.• std::string & get_data ()

Gets the string representation of the HTTP version.

Static Public Member Functions

• static HTTPVersion HTTPVersionRequest ()

Static constructor. Creates an empty HTTP version for a request message.• static HTTPVersion HTTPVersionResponse ()

Static constructor. Creates an empty HTTP version for a response message.• static HTTPVersion HTTPVersionRequest (std::string &version)

Static constructor. Creates an HTTP version for a request message.• static HTTPVersion HTTPVersionResponse (std::string &version)

Static constructor. Creates an HTTP version for a response message.

8.23.1 Detailed Description

This class represents an HTTP version.

8.23.2 Constructor & Destructor Documentation

8.23.2.1 eprosima::rpc::protocol::rest::HTTPVersion::HTTPVersion ( )

Default constructor.

Parameters

version HTTP version to copy.

8.23.3 Member Function Documentation

8.23.3.1 std::string& eprosima::rpc::protocol::rest::HTTPVersion::get_data ( ) [inline]

Gets the string representation of the HTTP version.

Returns

String representation of the HTTP version.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 88: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

74 Class Documentation

8.23.3.2 static HTTPVersion eprosima::rpc::protocol::rest::HTTPVersion::HTTPVersionRequest ( std::string & version )[static]

Static constructor. Creates an HTTP version for a request message.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 89: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.24 eprosima::rpc::exception::IncompatibleException Class Reference 75

Parameters

version HTTP version.

8.23.3.3 static HTTPVersion eprosima::rpc::protocol::rest::HTTPVersion::HTTPVersionResponse ( std::string & version )[static]

Static constructor. Creates an HTTP version for a response message.

Parameters

version HTTP version.

8.23.3.4 void eprosima::rpc::protocol::rest::HTTPVersion::set_data ( const std::string & data ) [inline]

Copies the string representation of the HTTP version.

Parameters

data String representation of the HTTP version.

8.23.3.5 void eprosima::rpc::protocol::rest::HTTPVersion::set_data ( std::string && data ) [inline]

Moves the string representation of the HTTP version.

Parameters

data String representation of the HTTP version.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/protocols/rest/HTTPEntities.h

8.24 eprosima::rpc::exception::IncompatibleException Class Reference

This class is thrown as an exception when a selected protocol and transport are incompatible.

#include <IncompatibleException.h>

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 90: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

76 Class Documentation

Inheritance diagram for eprosima::rpc::exception::IncompatibleException:

eprosima::rpc::exception::IncompatibleException

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::Exception

std::exception

Collaboration diagram for eprosima::rpc::exception::IncompatibleException:

eprosima::rpc::exception::IncompatibleException

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::Exception

std::exception

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 91: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.24 eprosima::rpc::exception::IncompatibleException Class Reference 77

Public Member Functions

• IncompatibleException (const std::string &message)

Default constructor.• IncompatibleException (std::string &&message)

Default constructor.• IncompatibleException (const IncompatibleException &ex)

Default copy constructor.• IncompatibleException (IncompatibleException &&ex)

Default move constructor.• IncompatibleException & operator= (const IncompatibleException &ex)

Assigment operation.• IncompatibleException & operator= (IncompatibleException &&ex)

Assigment operation.• virtual ∼IncompatibleException () throw ()

Default constructor.• virtual void raise () const

This function throws the object as an exception.

Additional Inherited Members

8.24.1 Detailed Description

This class is thrown as an exception when a selected protocol and transport are incompatible.

8.24.2 Constructor & Destructor Documentation

8.24.2.1 eprosima::rpc::exception::IncompatibleException::IncompatibleException ( const std::string & message )

Default constructor.

Parameters

message An error message. This message is copied.

8.24.2.2 eprosima::rpc::exception::IncompatibleException::IncompatibleException ( std::string && message )

Default constructor.

Parameters

message An error message. This message is moved.

8.24.2.3 eprosima::rpc::exception::IncompatibleException::IncompatibleException ( const IncompatibleException & ex )

Default copy constructor.

Parameters

ex IncompatibleException that will be copied.

8.24.2.4 eprosima::rpc::exception::IncompatibleException::IncompatibleException ( IncompatibleException && ex )

Default move constructor.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 92: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

78 Class Documentation

Parameters

ex IncompatibleException that will be moved.

8.24.3 Member Function Documentation

8.24.3.1 IncompatibleException& eprosima::rpc::exception::IncompatibleException::operator= ( constIncompatibleException & ex )

Assigment operation.

Parameters

ex IncompatibleException that will be copied.

8.24.3.2 IncompatibleException& eprosima::rpc::exception::IncompatibleException::operator= (IncompatibleException && ex )

Assigment operation.

Parameters

ex IncompatibleException that will be moved.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/exceptions/IncompatibleException.h

8.25 eprosima::rpc::exception::InitializeException Class Reference

This class is thrown as an exception when there is an error initializating an object.

#include <InitializeException.h>

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 93: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.25 eprosima::rpc::exception::InitializeException Class Reference 79

Inheritance diagram for eprosima::rpc::exception::InitializeException:

eprosima::rpc::exception::InitializeException

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::Exception

std::exception

Collaboration diagram for eprosima::rpc::exception::InitializeException:

eprosima::rpc::exception::InitializeException

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::Exception

std::exception

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 94: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

80 Class Documentation

Public Member Functions

• InitializeException (const std::string &message)

Default constructor.• InitializeException (std::string &&message)

Default constructor.• InitializeException (const InitializeException &ex)

Default copy constructor.• InitializeException (InitializeException &&ex)

Default move constructor.• InitializeException & operator= (const InitializeException &ex)

Assigment operation.• InitializeException & operator= (InitializeException &&ex)

Assigment operation.• virtual ∼InitializeException () throw ()

Default constructor.• virtual void raise () const

This function throws the object as an exception.

Additional Inherited Members

8.25.1 Detailed Description

This class is thrown as an exception when there is an error initializating an object.

8.25.2 Constructor & Destructor Documentation

8.25.2.1 eprosima::rpc::exception::InitializeException::InitializeException ( const std::string & message )

Default constructor.

Parameters

message An error message. This message is copied.

8.25.2.2 eprosima::rpc::exception::InitializeException::InitializeException ( std::string && message )

Default constructor.

Parameters

message An error message. This message is moved.

8.25.2.3 eprosima::rpc::exception::InitializeException::InitializeException ( const InitializeException & ex )

Default copy constructor.

Parameters

ex InitializeException that will be copied.

8.25.2.4 eprosima::rpc::exception::InitializeException::InitializeException ( InitializeException && ex )

Default move constructor.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 95: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.26 eprosima::rpc::protocol::Protocol Class Reference 81

Parameters

ex InitializeException that will be moved.

8.25.3 Member Function Documentation

8.25.3.1 InitializeException& eprosima::rpc::exception::InitializeException::operator= ( const InitializeException & ex )

Assigment operation.

Parameters

ex InitializeException that will be copied.

8.25.3.2 InitializeException& eprosima::rpc::exception::InitializeException::operator= ( InitializeException && ex )

Assigment operation.

Parameters

ex InitializeException that will be moved.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/exceptions/InitializeException.h

8.26 eprosima::rpc::protocol::Protocol Class Reference

This abstract class represents the protocol used by the RPCs. It serializes and deserializes the information anduses a eprosima::rpc::transport::Transport to send it and receive it.

#include <Protocol.h>

Inheritance diagram for eprosima::rpc::protocol::Protocol:

eprosima::rpc::protocol::Protocol

eprosima::rpc::protocol::FooRESTProtocol

eprosima::rpc::protocol::rest::FooRESTProtocol

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 96: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

82 Class Documentation

Public Member Functions

• virtual bool setTransport (eprosima::rpc::transport::Transport &transport)=0

This method sets a eprosima::rpc::transport::Transport object, used for the communications.

Protected Member Functions

• Protocol ()

Default constructor.

• virtual ∼Protocol ()

Default destructor.

• eprosima::rpc::transport::Transport & getTransport () const

This method returns the eprosima::rpc::transport::Transport object, used for the communications.

• void _setTransport (eprosima::rpc::transport::Transport &transport)

This method sets a eprosima::rpc::transport::Transport object, used for the communications.

8.26.1 Detailed Description

This abstract class represents the protocol used by the RPCs. It serializes and deserializes the information anduses a eprosima::rpc::transport::Transport to send it and receive it.

8.26.2 Member Function Documentation

8.26.2.1 void eprosima::rpc::protocol::Protocol::_setTransport ( eprosima::rpc::transport::Transport & transport )[inline], [protected]

This method sets a eprosima::rpc::transport::Transport object, used for the communications.

Parameters

transport eprosima::rpc::transport::Transport to use for the communication.

8.26.2.2 eprosima::rpc::transport::Transport& eprosima::rpc::protocol::Protocol::getTransport ( ) const[inline], [protected]

This method returns the eprosima::rpc::transport::Transport object, used for the communications.

Returns

eprosima::rpc::transport::Transport used for the communications.

8.26.2.3 virtual bool eprosima::rpc::protocol::Protocol::setTransport ( eprosima::rpc::transport::Transport & transport )[pure virtual]

This method sets a eprosima::rpc::transport::Transport object, used for the communications.

Parameters

transport eprosima::rpc::transport::Transport to use for the communications.

Implemented in eprosima::rpc::protocol::rest::FooRESTProtocol, and eprosima::rpc::protocol::FooRESTProtocol.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/protocols/Protocol.h

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 97: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.27 eprosima::rpc::proxy::Proxy Class Reference 83

8.27 eprosima::rpc::proxy::Proxy Class Reference

This class implements the common functionalities that all server’s proxies have.

#include <Proxy.h>

Inheritance diagram for eprosima::rpc::proxy::Proxy:

eprosima::rpc::proxy::Proxy

FooREST::FooResourceProxy

Protected Member Functions

• Proxy (eprosima::rpc::transport::ProxyTransport &transport, eprosima::rpc::protocol::Protocol &protocol)

Proxy constructor.

• virtual ∼Proxy ()

The default destructor.

• eprosima::rpc::protocol::Protocol & getProtocol () const

Method to obtain the protocol.

• eprosima::rpc::transport::ProxyTransport & getTransport () const

Method to get the transport.

8.27.1 Detailed Description

This class implements the common functionalities that all server’s proxies have.

8.27.2 Constructor & Destructor Documentation

8.27.2.1 eprosima::rpc::proxy::Proxy::Proxy ( eprosima::rpc::transport::ProxyTransport & transport,eprosima::rpc::protocol::Protocol & protocol ) [protected]

Proxy constructor.

Parameters

transport The transport that will be used by the server’s proxy. This class doesn’t delete this object inits destructor.

protocol The protocol used to send information over the transport. This class doesn’t delete this objectin its destructor.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 98: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

84 Class Documentation

Exceptions

InitializeException This exception is thrown when the initialization went wrong.

8.27.3 Member Function Documentation

8.27.3.1 eprosima::rpc::protocol::Protocol& eprosima::rpc::proxy::Proxy::getProtocol ( ) const [inline],[protected]

Method to obtain the protocol.

Returns

The protocol used to send information over the transport

8.27.3.2 eprosima::rpc::transport::ProxyTransport& eprosima::rpc::proxy::Proxy::getTransport ( ) const[inline], [protected]

Method to get the transport.

Returns

The transport used used by the proxy

The documentation for this class was generated from the following file:

• includetmp/rpcrest/client/Proxy.h

8.28 eprosima::rpc::transport::ProxyTransport Class Reference

This interface is the base of all classes that implement a transport that can be used by the proxy.

#include <ProxyTransport.h>

Inheritance diagram for eprosima::rpc::transport::ProxyTransport:

eprosima::rpc::transport::ProxyTransport

eprosima::rpc::transport::HttpProxyTransport

eprosima::rpc::transport::TCPProxyTransport

eprosima::rpc::transport::Transport

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 99: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.28 eprosima::rpc::transport::ProxyTransport Class Reference 85

Collaboration diagram for eprosima::rpc::transport::ProxyTransport:

eprosima::rpc::transport::ProxyTransport

eprosima::rpc::transport::Transport

Public Member Functions

• ProxyTransport ()

Default constructor.

• virtual ∼ProxyTransport ()

Default destructor.

• virtual const char ∗ getType () const =0

This function returns the type of the transport. This function has to be implemented by the child classes.

• TransportBehaviour getBehaviour () const

This function returns the behaviour of the transport.

• virtual bool connect ()=0

Abstract method. It must start a connection with the server.

• virtual bool send (const void ∗buffer, const size_t bufferSize)=0

Abstract method. It must send a request to the server.

• virtual int receive (void ∗buffer, const size_t bufferSize, size_t &dataToRead)=0

Abstract method. It must receive a reply from the server.

8.28.1 Detailed Description

This interface is the base of all classes that implement a transport that can be used by the proxy.

8.28.2 Member Function Documentation

8.28.2.1 virtual bool eprosima::rpc::transport::ProxyTransport::connect ( ) [pure virtual]

Abstract method. It must start a connection with the server.

Returns

true if the operation is successful, false otherwise.

Implemented in eprosima::rpc::transport::TCPProxyTransport, and eprosima::rpc::transport::HttpProxyTransport.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 100: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

86 Class Documentation

8.28.2.2 TransportBehaviour eprosima::rpc::transport::ProxyTransport::getBehaviour ( ) const [inline],[virtual]

This function returns the behaviour of the transport.

Returns

The behaviour of the transport.

Implements eprosima::rpc::transport::Transport.

8.28.2.3 virtual int eprosima::rpc::transport::ProxyTransport::receive ( void ∗ buffer, const size_t bufferSize, size_t &dataToRead ) [pure virtual]

Abstract method. It must receive a reply from the server.

Parameters

buffer Buffer that will contain the HTTP message.bufferSize Size of the buffer.

dataToRead Number of bytes received.

Returns

-1 if the operation fails.

Implemented in eprosima::rpc::transport::TCPProxyTransport, and eprosima::rpc::transport::HttpProxyTransport.

8.28.2.4 virtual bool eprosima::rpc::transport::ProxyTransport::send ( const void ∗ buffer, const size_t bufferSize ) [purevirtual]

Abstract method. It must send a request to the server.

Parameters

buffer Buffer containing the requestbufferSize Buffer size

Returns

true if the operation is successful, false otherwise.

Implemented in eprosima::rpc::transport::TCPProxyTransport, and eprosima::rpc::transport::HttpProxyTransport.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/transports/ProxyTransport.h

8.29 RESOURCES_BASE_URI Interface Reference

Public Attributes

• attribute string value

The documentation for this interface was generated from the following file:

• utils/doxygen/examples/restful/FooREST.idl

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 101: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.30 eprosima::rpc::protocol::rest::RESTSerializer Class Reference 87

8.30 eprosima::rpc::protocol::rest::RESTSerializer Class Reference

This class serializes REST data to get an HTTP message suitable for HTTP communications.

#include <RESTSerializer.h>

Public Member Functions

• RESTSerializer ()

Default constructor.

• ∼RESTSerializer ()

Default destructor.

• void reset ()

This function resets the buffer’s current position to the beginning.

• RESTSerializer & serialize (const std::string &string_t)

This function serializes a string.

• RESTSerializer & deserialize (std::string &string_t)

This function deserializes a string.

• RESTSerializer & serialize (HTTPMethod &method)

This function serializes an HTTP method.

• RESTSerializer & deserialize (HTTPMethod &method)

This function deserializes an HTTP method.

• RESTSerializer & serialize (HTTPUri &uri)

This function serializes an HTTP URI.

• RESTSerializer & deserialize (HTTPUri &uri)

This function deserializes an HTTP URI.

• RESTSerializer & serialize (HTTPVersion &version)

This function serializes an HTTP Version.

• RESTSerializer & deserialize (HTTPVersion &version)

This function deserializes an HTTP Version.

• RESTSerializer & serialize (HTTPData &data)

This function serializes an HTTP Body.

• RESTSerializer & deserialize (HTTPData &data)

This function deserializes an HTTP Body.

• RESTSerializer & serialize (HTTPResponseCode &responseCode)

This function serializes an HTTP Response code.

• RESTSerializer & deserialize (HTTPResponseCode &responseCode)

This function deserializes an HTTP Response code.

• RESTSerializer & serialize (HTTPParam &param)

This function serializes an HTTP Parameter.

• RESTSerializer & deserialize (HTTPParam &param)

This function deserializes an HTTP Parameter.

• RESTSerializer & serialize (HTTPParameters &params)

This function serializes a set of HTTP Parameters.

• RESTSerializer & deserialize (HTTPParameters &params)

This function deserializes an HTTP Parameters set.

• RESTSerializer & serialize (HTTPParameters &params, size_t numElements)

This function serializes a set of HTTP Parameters.

• RESTSerializer & deserialize (HTTPParameters &params, size_t numElements)

This function deserializes a set of HTTP Parameters.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 102: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

88 Class Documentation

• RESTSerializer & serializeQueryParameter (std::string &uri, const std::string &paramName, const std::string&paramValue)

This function serializes an HTTP query parameter.• RESTSerializer & beginSerializeTemplateParameters (std::string &&uri)

This function initializes the proccess to serialize the template parameters inside the URI.• RESTSerializer & serializeTemplateParameter (const std::string &paramValue)

This function serializes an HTTP template parameter in the URI.• RESTSerializer & endSerializeTemplateParameters (std::string &uri)

This function end the proccess to serialize the template parameters inside the URI.• RESTSerializer & deserializeUri (const std::string &uri, const std::string baseUri)

This function deserializes an HTTP URI.• bool existsTagLevel (const int level) const

Checks the existence of a path segment in a certain level in the URI.• std::string getTag (const int level)

Gets the path segment for a given level in the URI.• bool existsQueryParameter (const std::string &name)

Checks the presence of a certain HTTP query parameter.• std::string getQueryParameter (const std::string &name)

Gets the value of a certain HTTP query parameter.

8.30.1 Detailed Description

This class serializes REST data to get an HTTP message suitable for HTTP communications.

8.30.2 Member Function Documentation

8.30.2.1 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::beginSerializeTemplateParameters ( std::string &&uri )

This function initializes the proccess to serialize the template parameters inside the URI.

Parameters

uri URI to serialize the template parameters in.

Returns

Reference to the RESTSerializer object.

8.30.2.2 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( std::string & string_t )

This function deserializes a string.

Parameters

string_t The variable that will store the character read from the buffer.

Returns

Reference to the RESTSerializer object

8.30.2.3 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPMethod & method )

This function deserializes an HTTP method.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 103: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.30 eprosima::rpc::protocol::rest::RESTSerializer Class Reference 89

Parameters

method Variable that will store the character read from the buffer.

Returns

Reference to the RESTSerializer object

8.30.2.4 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPUri & uri )

This function deserializes an HTTP URI.

Parameters

uri Variable that will store the URI read from the buffer.

Returns

Reference to the RESTSerializer object.

8.30.2.5 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPVersion & version )

This function deserializes an HTTP Version.

Parameters

version Variable that will store the HTTPVersion read from the buffer.

Returns

Reference to the RESTSerializer object.

8.30.2.6 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPData & data )

This function deserializes an HTTP Body.

Parameters

data Variable that will store the HTTPData read from the buffer.

Returns

Reference to the RESTSerializer object.

8.30.2.7 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPResponseCode &responseCode )

This function deserializes an HTTP Response code.

Parameters

responseCode The variable that will store the response code (HTTPResponseCode) read from the buffer.

Returns

Reference to the RESTSerializer object.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 104: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

90 Class Documentation

8.30.2.8 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPParam & param )

This function deserializes an HTTP Parameter.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 105: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.30 eprosima::rpc::protocol::rest::RESTSerializer Class Reference 91

Parameters

param The variable that will store the HTTPParam read from the buffer.

Returns

Reference to the RESTSerializer object.

8.30.2.9 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPParameters & params )

This function deserializes an HTTP Parameters set.

Parameters

params The variable that will store the HTTPParameters object read from the buffer.

Returns

Reference to the RESTSerializer object.

8.30.2.10 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserialize ( HTTPParameters & params,size_t numElements )

This function deserializes a set of HTTP Parameters.

Parameters

params The variable that will store the character read from the buffer.numElements Nomber of parameters to deserialize.

Returns

Reference to the RESTSerializer object.

8.30.2.11 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::deserializeUri ( const std::string & uri, conststd::string baseUri )

This function deserializes an HTTP URI.

Parameters

uri Variable that will store the character read from the buffer.baseUri Base URI for the RESTful application.

Returns

Reference to the RESTSerializer object.

8.30.2.12 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::endSerializeTemplateParameters ( std::string & uri)

This function end the proccess to serialize the template parameters inside the URI.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 106: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

92 Class Documentation

Parameters

uri Variable that will store the expanded URI with the template parameters.

Returns

Reference to the RESTSerializer object.

8.30.2.13 bool eprosima::rpc::protocol::rest::RESTSerializer::existsQueryParameter ( const std::string & name )[inline]

Checks the presence of a certain HTTP query parameter.

Parameters

name HTTP query parameter name.

Returns

true if it exists, false if it does not.

8.30.2.14 bool eprosima::rpc::protocol::rest::RESTSerializer::existsTagLevel ( const int level ) const [inline]

Checks the existence of a path segment in a certain level in the URI.

Parameters

level Level of the path segment.

Returns

true if it exists, false if it does not.

8.30.2.15 std::string eprosima::rpc::protocol::rest::RESTSerializer::getQueryParameter ( const std::string & name )[inline]

Gets the value of a certain HTTP query parameter.

Parameters

name HTTP query parameter name.

Returns

HTTP query parameter value.

8.30.2.16 std::string eprosima::rpc::protocol::rest::RESTSerializer::getTag ( const int level ) [inline]

Gets the path segment for a given level in the URI.

Parameters

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 107: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.30 eprosima::rpc::protocol::rest::RESTSerializer Class Reference 93

level Level of the path segment.

Returns

The tag for the given level.

8.30.2.17 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( const std::string & string_t )

This function serializes a string.

Parameters

string_t reference to the string to serialize

Returns

Reference to the RESTSerializer object

8.30.2.18 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPMethod & method )

This function serializes an HTTP method.

Parameters

method reference to the method that will do the serialization.

Returns

Reference to the RESTSerializer object

8.30.2.19 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPUri & uri )

This function serializes an HTTP URI.

Parameters

uri Reference to the URI to be serialized.

Returns

Reference to the RESTSerializer object.

8.30.2.20 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPVersion & version )

This function serializes an HTTP Version.

Parameters

version Reference to the HTTPVersion to serialize

Returns

Reference to the RESTSerializer object

8.30.2.21 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPData & data )

This function serializes an HTTP Body.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 108: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

94 Class Documentation

Parameters

data Reference to the HTTPData to serialize.

Returns

Reference to the RESTSerializer object.

8.30.2.22 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPResponseCode &responseCode )

This function serializes an HTTP Response code.

Parameters

responseCode Reference to the response code (HTTPResponseCode) to serialize.

Returns

Reference to the RESTSerializer object.

8.30.2.23 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPParam & param )

This function serializes an HTTP Parameter.

Parameters

param Reference to the parameter to serialize

Returns

Reference to the RESTSerializer object

8.30.2.24 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPParameters & params )

This function serializes a set of HTTP Parameters.

Parameters

params Reference to the parameter set to serialize.

Returns

Reference to the RESTSerializer object.

8.30.2.25 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serialize ( HTTPParameters & params, size_tnumElements )

This function serializes a set of HTTP Parameters.

Parameters

reference to the set of parameters to serialize.numElements number of parameters to serialize.

Returns

Reference to the RESTSerializer object.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 109: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.30 eprosima::rpc::protocol::rest::RESTSerializer Class Reference 95

8.30.2.26 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serializeQueryParameter ( std::string & uri, conststd::string & paramName, const std::string & paramValue )

This function serializes an HTTP query parameter.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 110: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

96 Class Documentation

Parameters

uri HTTP URI with all the serialized parameters.paramName Parameter name.paramValue Parameter value.

Returns

Reference to the RESTSerializer object.

8.30.2.27 RESTSerializer& eprosima::rpc::protocol::rest::RESTSerializer::serializeTemplateParameter ( const std::string &paramValue )

This function serializes an HTTP template parameter in the URI.

Parameters

paramValue Reference to the parameter value to serialize.

Returns

Reference to the RESTSerializer object.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/protocols/rest/RESTSerializer.h

8.31 eprosima::rpc::server::Server Class Reference

This class implements the common functionalities that any server has.

#include <Server.h>

Inheritance diagram for eprosima::rpc::server::Server:

eprosima::rpc::server::Server

FooREST::FooResourceServer

Public Member Functions

• void serve ()

This function makes the server starts listening requests.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 111: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.31 eprosima::rpc::server::Server Class Reference 97

Exceptions

eprosima::rpc::exception::-InitializeException

This exception is thrown when the initialization fails for any reason.

• void stop ()

This function closes the server’s communications.

Static Public Member Functions

• static void process (Server &server, void ∗data, eprosima::rpc::transport::Endpoint &endpoint)

This callback is invoked by the ServerStrategy. It processes a request.

Protected Member Functions

• Server (eprosima::rpc::strategy::ServerStrategy &strategy, eprosima::rpc::transport::ServerTransport &trans-port, eprosima::rpc::protocol::Protocol &protocol)

A constructor. The associated domain participant is created.

• virtual ∼Server ()

The default destructor.

8.31.1 Detailed Description

This class implements the common functionalities that any server has.

8.31.2 Constructor & Destructor Documentation

8.31.2.1 eprosima::rpc::server::Server::Server ( eprosima::rpc::strategy::ServerStrategy & strategy,eprosima::rpc::transport::ServerTransport & transport, eprosima::rpc::protocol::Protocol & protocol )[protected]

A constructor. The associated domain participant is created.

Parameters

serviceName The service’s name that proxies will use to connect with the server.strategy The strategy used by the server to execute new requests. This class doesn’t delete this object

in its destructor. It cannot be NULL.transport The transport that will use the server. This class doesn’t delete this object in its destructor. If

the pointer is NULL, then a default UDPTransport will be used.domainId The domain id’s value that the server proxy will set in the domain participant.

Exceptions

InitializeException This exception is thrown when the initialization was wrong.

8.31.3 Member Function Documentation

8.31.3.1 static void eprosima::rpc::server::Server::process ( Server & server, void ∗ data,eprosima::rpc::transport::Endpoint & endpoint ) [static]

This callback is invoked by the ServerStrategy. It processes a request.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 112: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

98 Class Documentation

Parameters

server The invoked server.data The request data.

endpoint The request endpoint.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/server/Server.h

8.32 eprosima::rpc::exception::ServerInternalException Class Reference

This class is thrown as an exception when there is an error in the server side.

#include <ServerInternalException.h>

Inheritance diagram for eprosima::rpc::exception::ServerInternalException:

eprosima::rpc::exception::ServerInternalException

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::Exception

std::exception

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 113: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.32 eprosima::rpc::exception::ServerInternalException Class Reference 99

Collaboration diagram for eprosima::rpc::exception::ServerInternalException:

eprosima::rpc::exception::ServerInternalException

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::Exception

std::exception

Public Member Functions

• ServerInternalException (const std::string &message)

Default constructor.

• ServerInternalException (std::string &&message)

Default constructor.

• ServerInternalException (const ServerInternalException &ex)

Default copy constructor.

• ServerInternalException (ServerInternalException &&ex)

Default move constructor.

• ServerInternalException & operator= (const ServerInternalException &ex)

Assigment operation.

• ServerInternalException & operator= (ServerInternalException &&ex)

Assigment operation.

• virtual ∼ServerInternalException () throw ()

Default constructor.

• virtual void raise () const

This function throws the object as an exception.

Additional Inherited Members

8.32.1 Detailed Description

This class is thrown as an exception when there is an error in the server side.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 114: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

100 Class Documentation

8.32.2 Constructor & Destructor Documentation

8.32.2.1 eprosima::rpc::exception::ServerInternalException::ServerInternalException ( const std::string & message )

Default constructor.

Parameters

message An error message. This message is copied.

8.32.2.2 eprosima::rpc::exception::ServerInternalException::ServerInternalException ( std::string && message )

Default constructor.

Parameters

message An error message. This message is moved.

8.32.2.3 eprosima::rpc::exception::ServerInternalException::ServerInternalException ( const ServerInternalException & ex)

Default copy constructor.

Parameters

ex ServerInternalException that will be copied.

8.32.2.4 eprosima::rpc::exception::ServerInternalException::ServerInternalException ( ServerInternalException && ex )

Default move constructor.

Parameters

ex ServerInternalException that will be moved.

8.32.3 Member Function Documentation

8.32.3.1 ServerInternalException& eprosima::rpc::exception::ServerInternalException::operator= ( constServerInternalException & ex )

Assigment operation.

Parameters

ex ServerInternalException that will be copied.

8.32.3.2 ServerInternalException& eprosima::rpc::exception::ServerInternalException::operator= (ServerInternalException && ex )

Assigment operation.

Parameters

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 115: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.33 eprosima::rpc::exception::ServerNotFoundException Class Reference 101

ex ServerInternalException that will be moved.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/exceptions/ServerInternalException.h

8.33 eprosima::rpc::exception::ServerNotFoundException Class Reference

This class is thrown as an exception when the server is not found.

#include <ServerNotFoundException.h>

Inheritance diagram for eprosima::rpc::exception::ServerNotFoundException:

eprosima::rpc::exception::ServerNotFoundException

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::Exception

std::exception

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 116: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

102 Class Documentation

Collaboration diagram for eprosima::rpc::exception::ServerNotFoundException:

eprosima::rpc::exception::ServerNotFoundException

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::Exception

std::exception

Public Member Functions

• ServerNotFoundException (const std::string &message)

Default constructor.

• ServerNotFoundException (std::string &&message)

Default constructor.

• ServerNotFoundException (const ServerNotFoundException &ex)

Default copy constructor.

• ServerNotFoundException (ServerNotFoundException &&ex)

Default move constructor.

• ServerNotFoundException & operator= (const ServerNotFoundException &ex)

Assigment operation.

• ServerNotFoundException & operator= (ServerNotFoundException &&ex)

Assigment operation.

• virtual ∼ServerNotFoundException () throw ()

Default constructor.

• virtual void raise () const

This function throws the object as an exception.

Additional Inherited Members

8.33.1 Detailed Description

This class is thrown as an exception when the server is not found.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 117: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.33 eprosima::rpc::exception::ServerNotFoundException Class Reference 103

8.33.2 Constructor & Destructor Documentation

8.33.2.1 eprosima::rpc::exception::ServerNotFoundException::ServerNotFoundException ( const std::string & message )

Default constructor.

Parameters

message An error message. This message is copied.

8.33.2.2 eprosima::rpc::exception::ServerNotFoundException::ServerNotFoundException ( std::string && message )

Default constructor.

Parameters

message An error message. This message is moved.

8.33.2.3 eprosima::rpc::exception::ServerNotFoundException::ServerNotFoundException ( constServerNotFoundException & ex )

Default copy constructor.

Parameters

ex ServerNotFoundException that will be copied.

8.33.2.4 eprosima::rpc::exception::ServerNotFoundException::ServerNotFoundException ( ServerNotFoundException &&ex )

Default move constructor.

Parameters

ex ServerNotFoundException that will be moved.

8.33.3 Member Function Documentation

8.33.3.1 ServerNotFoundException& eprosima::rpc::exception::ServerNotFoundException::operator= ( constServerNotFoundException & ex )

Assigment operation.

Parameters

ex ServerNotFoundException that will be copied.

8.33.3.2 ServerNotFoundException& eprosima::rpc::exception::ServerNotFoundException::operator= (ServerNotFoundException && ex )

Assigment operation.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 118: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

104 Class Documentation

Parameters

ex ServerNotFoundException that will be moved.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/exceptions/ServerNotFoundException.h

8.34 eprosima::rpc::strategy::ServerStrategy Class Reference

This class is the base of all classes that implement a server strategy. that could be used by the server.

#include <ServerStrategy.h>

Inheritance diagram for eprosima::rpc::strategy::ServerStrategy:

eprosima::rpc::strategy::ServerStrategy

eprosima::rpc::strategy::SingleThreadStrategy

eprosima::rpc::strategy::ThreadPerRequestStrategy

eprosima::rpc::strategy::ThreadPoolStrategy

Public Member Functions

• ServerStrategy ()

Default constructor.

• virtual ∼ServerStrategy ()

Default destructor.

• virtual ServerStrategyImpl ∗ getImpl ()=0

Gets the implementation of the strategy using Boost library.

8.34.1 Detailed Description

This class is the base of all classes that implement a server strategy. that could be used by the server.

8.34.2 Member Function Documentation

8.34.2.1 virtual ServerStrategyImpl∗ eprosima::rpc::strategy::ServerStrategy::getImpl ( ) [pure virtual]

Gets the implementation of the strategy using Boost library.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 119: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.35 eprosima::rpc::strategy::ServerStrategyImpl Class Reference 105

Returns

Implementation of the strategy.

Implemented in eprosima::rpc::strategy::ThreadPoolStrategy, eprosima::rpc::strategy::SingleThreadStrategy, andeprosima::rpc::strategy::ThreadPerRequestStrategy.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/strategies/ServerStrategy.h

8.35 eprosima::rpc::strategy::ServerStrategyImpl Class Reference

This class is the base of all classes that implement a server strategy. that could be used by the server.

#include <ServerStrategyImpl.h>

Public Member Functions

• ServerStrategyImpl ()

Default constructor.

• virtual ∼ServerStrategyImpl ()

Default destructor.

• virtual void schedule (boost::function< void()> callback)=0

This function schedules an incoming request. This function has to be implemented by the derived classes.

8.35.1 Detailed Description

This class is the base of all classes that implement a server strategy. that could be used by the server.

8.35.2 Member Function Documentation

8.35.2.1 virtual void eprosima::rpc::strategy::ServerStrategyImpl::schedule ( boost::function< void()> callback ) [purevirtual]

This function schedules an incoming request. This function has to be implemented by the derived classes.

Parameters

callback The Server’s method to invoke when a request arrives.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/strategies/ServerStrategyImpl.h

8.36 eprosima::rpc::exception::ServerTimeoutException Class Reference

This class is thrown as an exception when the remote procedure call exceeds the maximum time.

#include <ServerTimeoutException.h>

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 120: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

106 Class Documentation

Inheritance diagram for eprosima::rpc::exception::ServerTimeoutException:

eprosima::rpc::exception::ServerTimeoutException

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::Exception

std::exception

Collaboration diagram for eprosima::rpc::exception::ServerTimeoutException:

eprosima::rpc::exception::ServerTimeoutException

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::Exception

std::exception

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 121: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.36 eprosima::rpc::exception::ServerTimeoutException Class Reference 107

Public Member Functions

• ServerTimeoutException (const std::string &message)

Default constructor.

• ServerTimeoutException (std::string &&message)

Default constructor.

• ServerTimeoutException (const ServerTimeoutException &ex)

Default copy constructor.

• ServerTimeoutException (ServerTimeoutException &&ex)

Default move constructor.

• ServerTimeoutException & operator= (const ServerTimeoutException &ex)

Assigment operation.

• ServerTimeoutException & operator= (ServerTimeoutException &&ex)

Assigment operation.

• virtual ∼ServerTimeoutException () throw ()

Default constructor.

• virtual void raise () const

This function throws the object as an exception.

Additional Inherited Members

8.36.1 Detailed Description

This class is thrown as an exception when the remote procedure call exceeds the maximum time.

8.36.2 Constructor & Destructor Documentation

8.36.2.1 eprosima::rpc::exception::ServerTimeoutException::ServerTimeoutException ( const std::string & message )

Default constructor.

Parameters

message An error message. This message is copied.

8.36.2.2 eprosima::rpc::exception::ServerTimeoutException::ServerTimeoutException ( std::string && message )

Default constructor.

Parameters

message An error message. This message is moved.

8.36.2.3 eprosima::rpc::exception::ServerTimeoutException::ServerTimeoutException ( const ServerTimeoutException &ex )

Default copy constructor.

Parameters

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 122: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

108 Class Documentation

ex ServerTimeoutException that will be copied.

8.36.2.4 eprosima::rpc::exception::ServerTimeoutException::ServerTimeoutException ( ServerTimeoutException && ex )

Default move constructor.

Parameters

ex ServerTimeoutException that will be moved.

8.36.3 Member Function Documentation

8.36.3.1 ServerTimeoutException& eprosima::rpc::exception::ServerTimeoutException::operator= ( constServerTimeoutException & ex )

Assigment operation.

Parameters

ex ServerTimeoutException that will be copied.

8.36.3.2 ServerTimeoutException& eprosima::rpc::exception::ServerTimeoutException::operator= (ServerTimeoutException && ex )

Assigment operation.

Parameters

ex ServerTimeoutException that will be moved.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/exceptions/ServerTimeoutException.h

8.37 eprosima::rpc::transport::ServerTransport Class Reference

This interface is the base of all classes that implement a transport that can be used by the server.

#include <ServerTransport.h>

Inheritance diagram for eprosima::rpc::transport::ServerTransport:

eprosima::rpc::transport::ServerTransport

eprosima::rpc::transport::HttpServerTransport

eprosima::rpc::transport::TCPServerTransport

eprosima::rpc::transport::Transport

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 123: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.37 eprosima::rpc::transport::ServerTransport Class Reference 109

Collaboration diagram for eprosima::rpc::transport::ServerTransport:

eprosima::rpc::transport::ServerTransport

eprosima::rpc::transport::Transport

Public Member Functions

• ServerTransport ()

Default constructor.

• virtual ∼ServerTransport ()

Default destructor.

• void setStrategy (eprosima::rpc::strategy::ServerStrategy &strategy)

Sets the threading strategy.

• void linkProtocol (eprosima::rpc::protocol::Protocol &protocol)

Sets the communication protocol.

• eprosima::rpc::protocol::Protocol & getLinkedProtocol ()

Gets the communication protocol.

• eprosima::rpc::strategy::ServerStrategy & getStrategy () const

Gets the threading strategy.

• ServerTransport_Callback getCallback () const

Gets the callback that will proccess the requests.

• void setCallback (ServerTransport_Callback callback)

Gets the callback that will proccess the requests.

• TransportBehaviour getBehaviour () const

This function returns the behaviour of the transport.

• virtual const char ∗ getType () const =0

This function returns the type of the transport. This function has to be implemented by the child classes.

• virtual void run ()=0

This method runs the TCP server needed for the HTTP connections.

• virtual void stop ()=0

This method stops the TCP server needed for the HTTP connections.

• virtual void sendReply (void ∗data, size_t dataLength, Endpoint ∗endpoint)=0

This function is used to send a reply to a proxy.

• virtual int receive (char ∗buffer, size_t bufferLength, size_t &dataToRead, Endpoint ∗endpoint)=0

This function is used to send a reply to a proxy.

8.37.1 Detailed Description

This interface is the base of all classes that implement a transport that can be used by the server.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 124: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

110 Class Documentation

8.37.2 Member Function Documentation

8.37.2.1 TransportBehaviour eprosima::rpc::transport::ServerTransport::getBehaviour ( ) const [inline],[virtual]

This function returns the behaviour of the transport.

Returns

The behaviour of the transport.

Implements eprosima::rpc::transport::Transport.

8.37.2.2 ServerTransport_Callback eprosima::rpc::transport::ServerTransport::getCallback ( ) const [inline]

Gets the callback that will proccess the requests.

Returns

Callback that will proccess the requests.

8.37.2.3 eprosima::rpc::protocol::Protocol& eprosima::rpc::transport::ServerTransport::getLinkedProtocol ( )[inline]

Gets the communication protocol.

Returns

Communication protocol.

8.37.2.4 eprosima::rpc::strategy::ServerStrategy& eprosima::rpc::transport::ServerTransport::getStrategy ( ) const[inline]

Gets the threading strategy.

Returns

Threading strategy.

8.37.2.5 void eprosima::rpc::transport::ServerTransport::linkProtocol ( eprosima::rpc::protocol::Protocol & protocol )[inline]

Sets the communication protocol.

Parameters

protocol Communication protocol.

8.37.2.6 virtual int eprosima::rpc::transport::ServerTransport::receive ( char ∗ buffer, size_t bufferLength, size_t & dataToRead,Endpoint ∗ endpoint ) [pure virtual]

This function is used to send a reply to a proxy.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 125: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.38 eprosima::rpc::strategy::SingleThreadStrategy Class Reference 111

Parameters

buffer Buffer to allocate the received databufferLength Size of the bufferdataToRead Size of the data to read

endpoint Endpoint to receive the data from

Implemented in eprosima::rpc::transport::TCPServerTransport, and eprosima::rpc::transport::HttpServerTransport.

8.37.2.7 virtual void eprosima::rpc::transport::ServerTransport::sendReply ( void ∗ data, size_t dataLength, Endpoint ∗endpoint ) [pure virtual]

This function is used to send a reply to a proxy.

Parameters

data Response to send.dataLength Length of the data to send.

endpoint Targeg entpoint to send the data to.

Implemented in eprosima::rpc::transport::TCPServerTransport, and eprosima::rpc::transport::HttpServerTransport.

8.37.2.8 void eprosima::rpc::transport::ServerTransport::setCallback ( ServerTransport_Callback callback ) [inline]

Gets the callback that will proccess the requests.

Parameters

Callback Callback that will proccess the requests.

8.37.2.9 void eprosima::rpc::transport::ServerTransport::setStrategy ( eprosima::rpc::strategy::ServerStrategy &strategy ) [inline]

Sets the threading strategy.

Parameters

strategy Threading strategy.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/transports/ServerTransport.h

8.38 eprosima::rpc::strategy::SingleThreadStrategy Class Reference

This class implements the sigle thread strategy. The server uses a reception thread to execute all the requests.

#include <SingleThreadStrategy.h>

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 126: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

112 Class Documentation

Inheritance diagram for eprosima::rpc::strategy::SingleThreadStrategy:

eprosima::rpc::strategy::SingleThreadStrategy

eprosima::rpc::strategy::ServerStrategy

Collaboration diagram for eprosima::rpc::strategy::SingleThreadStrategy:

eprosima::rpc::strategy::SingleThreadStrategy

eprosima::rpc::strategy::ServerStrategy

Public Member Functions

• SingleThreadStrategy ()

Default constructor.

• virtual ∼SingleThreadStrategy ()

Default destructor.

• ServerStrategyImpl ∗ getImpl ()

Gets the implementation of the strategy using Boost library.

8.38.1 Detailed Description

This class implements the sigle thread strategy. The server uses a reception thread to execute all the requests.

8.38.2 Member Function Documentation

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 127: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.39 eprosima::rpc::exception::SystemException Class Reference 113

8.38.2.1 ServerStrategyImpl∗ eprosima::rpc::strategy::SingleThreadStrategy::getImpl ( ) [virtual]

Gets the implementation of the strategy using Boost library.

Returns

Implementation of the strategy

Implements eprosima::rpc::strategy::ServerStrategy.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/strategies/SingleThreadStrategy.h

8.39 eprosima::rpc::exception::SystemException Class Reference

This abstract class is used to create internal FASTRPC exceptions.

#include <SystemException.h>

Inheritance diagram for eprosima::rpc::exception::SystemException:

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::BadParamException

eprosima::rpc::exception::ClientInternalException

eprosima::rpc::exception::IncompatibleException

eprosima::rpc::exception::InitializeException

eprosima::rpc::exception::ServerInternalException

eprosima::rpc::exception::ServerNotFoundException

eprosima::rpc::exception::ServerTimeoutException

eprosima::rpc::exception::Exceptionstd::exception

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 128: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

114 Class Documentation

Collaboration diagram for eprosima::rpc::exception::SystemException:

eprosima::rpc::exception::SystemException

eprosima::rpc::exception::Exception

std::exception

Public Member Functions

• virtual ∼SystemException () throw ()

Default destructor.• const int32_t & minor () const

This function returns the number associated with the system exception.• void minor (const int32_t &minor)

This function sets the number that will be associated with the system exception.• virtual void raise () const =0

This function throws the object as an exception.• virtual const char ∗ what () const throw ()

This function returns the error message.

Protected Member Functions

• SystemException (const std::string &message)

Default constructor.• SystemException (std::string &&message)

Default constructor.• SystemException (const SystemException &ex)

Default copy constructor.• SystemException (SystemException &&ex)

Default move constructor.• SystemException (const std::string &message, int32_t minor)

Constructor.• SystemException (std::string &&message, int32_t minor)

Constructor.• SystemException & operator= (const SystemException &ex)

Assigment operation.• SystemException & operator= (SystemException &&ex)

Assigment operation.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 129: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.39 eprosima::rpc::exception::SystemException Class Reference 115

8.39.1 Detailed Description

This abstract class is used to create internal FASTRPC exceptions.

8.39.2 Constructor & Destructor Documentation

8.39.2.1 eprosima::rpc::exception::SystemException::SystemException ( const std::string & message ) [protected]

Default constructor.

Parameters

message An error message. This message is copied.

8.39.2.2 eprosima::rpc::exception::SystemException::SystemException ( std::string && message ) [protected]

Default constructor.

Parameters

message An error message. This message is moved.

8.39.2.3 eprosima::rpc::exception::SystemException::SystemException ( const SystemException & ex )[protected]

Default copy constructor.

Parameters

ex SystemException that will be copied.

8.39.2.4 eprosima::rpc::exception::SystemException::SystemException ( SystemException && ex ) [protected]

Default move constructor.

Parameters

ex SystemException that will be moved.

8.39.2.5 eprosima::rpc::exception::SystemException::SystemException ( const std::string & message, int32_t minor )[protected]

Constructor.

Parameters

message An error message. This message is copied.minor The number that will be associated with the system exception.

8.39.2.6 eprosima::rpc::exception::SystemException::SystemException ( std::string && message, int32_t minor )[protected]

Constructor.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 130: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

116 Class Documentation

Parameters

message An error message. This message is moved.minor The number that will be associated with the system exception.

8.39.3 Member Function Documentation

8.39.3.1 const int32_t& eprosima::rpc::exception::SystemException::minor ( ) const

This function returns the number associated with the system exception.

Returns

The number associated with the system exception.

8.39.3.2 void eprosima::rpc::exception::SystemException::minor ( const int32_t & minor )

This function sets the number that will be associated with the system exception.

Parameters

minor The number that will be associated with the system exception.

8.39.3.3 SystemException& eprosima::rpc::exception::SystemException::operator= ( const SystemException & ex )[protected]

Assigment operation.

Parameters

ex SystemException that will be copied.

8.39.3.4 SystemException& eprosima::rpc::exception::SystemException::operator= ( SystemException && ex )[protected]

Assigment operation.

Parameters

ex SystemException that will be moved.

8.39.3.5 virtual const char∗ eprosima::rpc::exception::SystemException::what ( ) const throw ) [virtual]

This function returns the error message.

Returns

The error message.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/exceptions/SystemException.h

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 131: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.40 eprosima::rpc::transport::TCPEndpoint Class Reference 117

8.40 eprosima::rpc::transport::TCPEndpoint Class Reference

This class represents a TCP endpoint.

#include <TCPEndpoint.h>

Inheritance diagram for eprosima::rpc::transport::TCPEndpoint:

eprosima::rpc::transport::TCPEndpoint

boost::enable_shared_from_this<TCPEndpoint>

eprosima::rpc::transport::Endpoint

boost::noncopyable

Collaboration diagram for eprosima::rpc::transport::TCPEndpoint:

eprosima::rpc::transport::TCPEndpoint

boost::enable_shared_from_this<TCPEndpoint>

eprosima::rpc::transport::Endpoint

boost::noncopyable

Public Member Functions

• TCPEndpoint (void)

Default constructor.

• bool initializeBuffers ()

This method allocates memory for the internal buffers.

• void finalizeBuffers ()

This method frees the memory from the internal buffers.

• char ∗ getReadBuffer () const

This method gets the read buffer.

• size_t getReadBufferFillUse () const

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 132: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

118 Class Documentation

This method gets the used number of bytes of the read buffer.

• void increaseReadBufferFillUse (size_t numData)

This method adds a certain number of bytes to the read buffer.

• size_t getReadBufferEmptySpace () const

This method gets the number of free bytes.

• size_t getReadBufferLeftSpace () const

This method gets the number of bytes not yet read from the read buffer.

• size_t getReadBufferLength () const

This method gets the read buffer length.

• char ∗ getReadBufferCurrentPointer () const

This method gets the pointer to the current read position in the read buffer.

• void increaseReadBufferCurrentPointer (size_t move)

This method moves the read position in the read buffer.

• size_t getReadBufferLeftUsedSpace () const

This method gets the number of bytes not yet read from the used read buffer.

• int resizeReadBuffer (size_t minSize)

Resizes the read buffer.

• void refillReadBuffer ()

This method moves the unread bytes of the read buffer to the beginning of the buffer.

• char ∗ getWriteBuffer ()

Gets the write buffer.

• size_t getWriteBufferUsage () const

Gets the number of used bytes in the write buffer.

• size_t getWriteBufferLength () const

Gets the length of the write buffer.

• bool resizeWriteBuffer (size_t minSize)

Resizes the write buffer.

• void resetWriteBuffer ()

Resets the write buffer.

• bool write (const std::string &str)

Writes a string in the write buffer.

• bool write (int32_t num)

Writes an integer in the write buffer.

• bool isOpen ()

This method checks if the connection with the endpoint is open or closed.

• boost::shared_ptr< boost::asio::ip::tcp::socket > & socket ()

Gets the socket to connect to the endpoint.

Public Attributes

• boost::shared_ptr< boost::asio::ip::tcp::socket > socket_

socket to connect to the endpoint.

• boost::asio::io_service io_service_

io_service to connect to the endpoint.

• boost::asio::io_service ∗ master_io_service_

Master io_service to connect to the endpoint.

• boost::asio::ip::tcp::endpoint endpoint_

TCP endpoint to connect to the endpoint.

• boost::shared_ptr< boost::thread > thread_

Thread to run the communications with the endpoint.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 133: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.40 eprosima::rpc::transport::TCPEndpoint Class Reference 119

Additional Inherited Members

8.40.1 Detailed Description

This class represents a TCP endpoint.

8.40.2 Member Function Documentation

8.40.2.1 char∗ eprosima::rpc::transport::TCPEndpoint::getReadBuffer ( ) const [inline]

This method gets the read buffer.

Returns

Read buffer.

8.40.2.2 char∗ eprosima::rpc::transport::TCPEndpoint::getReadBufferCurrentPointer ( ) const [inline]

This method gets the pointer to the current read position in the read buffer.

Returns

Pointer to the current read position in the read buffer.

8.40.2.3 size_t eprosima::rpc::transport::TCPEndpoint::getReadBufferEmptySpace ( ) const [inline]

This method gets the number of free bytes.

Returns

Read buffer’s free bytes.

8.40.2.4 size_t eprosima::rpc::transport::TCPEndpoint::getReadBufferFillUse ( ) const [inline]

This method gets the used number of bytes of the read buffer.

Returns

Read buffer’s used number of bytes.

8.40.2.5 size_t eprosima::rpc::transport::TCPEndpoint::getReadBufferLeftSpace ( ) const [inline]

This method gets the number of bytes not yet read from the read buffer.

Returns

Number of bytes not yet read from the read buffer.

8.40.2.6 size_t eprosima::rpc::transport::TCPEndpoint::getReadBufferLeftUsedSpace ( ) const [inline]

This method gets the number of bytes not yet read from the used read buffer.

Returns

Number of bytes not yet read from the used read buffer.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 134: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

120 Class Documentation

8.40.2.7 size_t eprosima::rpc::transport::TCPEndpoint::getReadBufferLength ( ) const [inline]

This method gets the read buffer length.

Returns

Read buffer length.

8.40.2.8 char∗ eprosima::rpc::transport::TCPEndpoint::getWriteBuffer ( ) [inline]

Gets the write buffer.

Returns

The write buffer.

8.40.2.9 size_t eprosima::rpc::transport::TCPEndpoint::getWriteBufferLength ( ) const [inline]

Gets the length of the write buffer.

Returns

Length of the write buffer.

8.40.2.10 size_t eprosima::rpc::transport::TCPEndpoint::getWriteBufferUsage ( ) const [inline]

Gets the number of used bytes in the write buffer.

Returns

Number of used bytes in the write buffer.

8.40.2.11 void eprosima::rpc::transport::TCPEndpoint::increaseReadBufferCurrentPointer ( size_t move ) [inline]

This method moves the read position in the read buffer.

Parameters

move Number of bytes to move.

8.40.2.12 void eprosima::rpc::transport::TCPEndpoint::increaseReadBufferFillUse ( size_t numData ) [inline]

This method adds a certain number of bytes to the read buffer.

Parameters

numData Number of bytes to add to the total used bytes.

8.40.2.13 bool eprosima::rpc::transport::TCPEndpoint::isOpen ( )

This method checks if the connection with the endpoint is open or closed.

Returns

true if the connection is open, false if it is closed.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 135: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.40 eprosima::rpc::transport::TCPEndpoint Class Reference 121

8.40.2.14 int eprosima::rpc::transport::TCPEndpoint::resizeReadBuffer ( size_t minSize )

Resizes the read buffer.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 136: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

122 Class Documentation

Parameters

minSize New size of the buffer.

Returns

0 on success, -1 on failure.

8.40.2.15 bool eprosima::rpc::transport::TCPEndpoint::resizeWriteBuffer ( size_t minSize )

Resizes the write buffer.

Returns

true on success, false on failure.

8.40.2.16 boost::shared_ptr<boost::asio::ip::tcp::socket>& eprosima::rpc::transport::TCPEndpoint::socket ( )

Gets the socket to connect to the endpoint.

Returns

Socket to connect to the endpoint.

8.40.2.17 bool eprosima::rpc::transport::TCPEndpoint::write ( const std::string & str )

Writes a string in the write buffer.

Parameters

str String to write.

Returns

true on success, false on failure.

8.40.2.18 bool eprosima::rpc::transport::TCPEndpoint::write ( int32_t num )

Writes an integer in the write buffer.

Parameters

num Integer to write.

Returns

true on success, false on failure.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/transports/components/TCPEndpoint.h

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 137: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.41 eprosima::rpc::transport::TCPProxyTransport Class Reference 123

8.41 eprosima::rpc::transport::TCPProxyTransport Class Reference

This class represents a TCP transport. It must be used by TCP clients.

#include <TCPProxyTransport.h>

Inheritance diagram for eprosima::rpc::transport::TCPProxyTransport:

eprosima::rpc::transport::TCPProxyTransport

eprosima::rpc::transport::ProxyTransport

eprosima::rpc::transport::Transport

Collaboration diagram for eprosima::rpc::transport::TCPProxyTransport:

eprosima::rpc::transport::TCPProxyTransport

eprosima::rpc::transport::ProxyTransport

eprosima::rpc::transport::Transport

Public Member Functions

• TCPProxyTransport (const std::string &serverAddress)

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 138: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

124 Class Documentation

Default constructor.

• TCPProxyTransport (const std::string &serverAddress, const std::string &serverPort)

Default constructor.

• virtual ∼TCPProxyTransport ()

Default destructor.

• virtual const char ∗ getType () const

This function returns the type of the transport. In this case, it is RAW data.

• bool connect ()

Starts a TCP connection with a TCP server.

• bool send (const void ∗buffer, const size_t bufferSize)

Sends an TCP message to the server.

• int receive (void ∗buffer, const size_t bufferSize, size_t &dataToRead)

Receives a TCP message from the server.

8.41.1 Detailed Description

This class represents a TCP transport. It must be used by TCP clients.

8.41.2 Constructor & Destructor Documentation

8.41.2.1 eprosima::rpc::transport::TCPProxyTransport::TCPProxyTransport ( const std::string & serverAddress )

Default constructor.

Parameters

serverAddress Server address.

8.41.2.2 eprosima::rpc::transport::TCPProxyTransport::TCPProxyTransport ( const std::string & serverAddress, conststd::string & serverPort )

Default constructor.

Parameters

serverAddress Server address.serverAddress Server port.

8.41.3 Member Function Documentation

8.41.3.1 bool eprosima::rpc::transport::TCPProxyTransport::connect ( ) [virtual]

Starts a TCP connection with a TCP server.

Returns

true if the operation is successful, false otherwise.

Implements eprosima::rpc::transport::ProxyTransport.

8.41.3.2 int eprosima::rpc::transport::TCPProxyTransport::receive ( void ∗ buffer, const size_t bufferSize, size_t & dataToRead) [virtual]

Receives a TCP message from the server.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 139: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.42 eprosima::rpc::transport::TCPServerTransport Class Reference 125

Parameters

buffer Buffer that will contain the TCP message.bufferSize Size of the buffer.

dataToRead Number of bytes received.

Returns

-1 if the operation fails.

Implements eprosima::rpc::transport::ProxyTransport.

8.41.3.3 bool eprosima::rpc::transport::TCPProxyTransport::send ( const void ∗ buffer, const size_t bufferSize )[virtual]

Sends an TCP message to the server.

Parameters

buffer Buffer containing the TCP message.bufferSize Size of the buffer.

Returns

true if the operation is successful, false otherwise.

Implements eprosima::rpc::transport::ProxyTransport.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/transports/TCPProxyTransport.h

8.42 eprosima::rpc::transport::TCPServerTransport Class Reference

This class represents a TCP transport. It must be used by TCP servers.

#include <TCPServerTransport.h>

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 140: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

126 Class Documentation

Inheritance diagram for eprosima::rpc::transport::TCPServerTransport:

eprosima::rpc::transport::TCPServerTransport

eprosima::rpc::transport::ServerTransport

eprosima::rpc::transport::Transport

Collaboration diagram for eprosima::rpc::transport::TCPServerTransport:

eprosima::rpc::transport::TCPServerTransport

eprosima::rpc::transport::ServerTransport

eprosima::rpc::transport::Transport

eprosima::rpc::transport::BossProcess

onBossProcess

Public Member Functions

• void worker (TCPEndpoint ∗connection)

This callback method is invoked by the thread strategy when a request arrives. It gets the request from the TCPendpoint.

• TCPServerTransport (const std::string &to_connect)

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 141: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.42 eprosima::rpc::transport::TCPServerTransport Class Reference 127

Default constructor.

• virtual ∼TCPServerTransport ()

Default destructor.

• void run ()

This method runs the TCP server.

• void stop ()

This method stops the TCP server.

• const char ∗ getType () const

This function returns the type of the transport.

• void sendReply (void ∗data, size_t dataLength, Endpoint ∗connection)

This function is used to send a reply to a proxy.

• int receive (char ∗buffer, size_t bufferLength, size_t &dataToRead, Endpoint ∗endpoint)

This function is used to send a reply to a proxy.

Public Attributes

• BossProcess ∗ onBossProcess

This callback method is invoked when a request arrives. It makes the thread strategy schedule the incoming request.

8.42.1 Detailed Description

This class represents a TCP transport. It must be used by TCP servers.

8.42.2 Constructor & Destructor Documentation

8.42.2.1 eprosima::rpc::transport::TCPServerTransport::TCPServerTransport ( const std::string & to_connect )

Default constructor.

Parameters

to_connect Listening IP interface.

8.42.2.2 virtual eprosima::rpc::transport::TCPServerTransport::∼TCPServerTransport ( ) [virtual]

Default destructor.

Parameters

to_connect Listening IP interface.

8.42.3 Member Function Documentation

8.42.3.1 int eprosima::rpc::transport::TCPServerTransport::receive ( char ∗ buffer, size_t bufferLength, size_t & dataToRead,Endpoint ∗ endpoint ) [virtual]

This function is used to send a reply to a proxy.

Parameters

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 142: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

128 Class Documentation

buffer Buffer to allocate the received databufferLength Size of the bufferdataToRead Size of the data to read

endpoint Endpoint to receive the data from

Implements eprosima::rpc::transport::ServerTransport.

8.42.3.2 void eprosima::rpc::transport::TCPServerTransport::sendReply ( void ∗ data, size_t dataLength, Endpoint ∗connection ) [virtual]

This function is used to send a reply to a proxy.

Parameters

data Response to send.dataLength Length of the data to send.

endpoint Target endpoint to send the data to.

Implements eprosima::rpc::transport::ServerTransport.

8.42.3.3 void eprosima::rpc::transport::TCPServerTransport::worker ( TCPEndpoint ∗ connection )

This callback method is invoked by the thread strategy when a request arrives. It gets the request from the TCPendpoint.

Parameters

connection Incoming endpoint.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/transports/TCPServerTransport.h

8.43 eprosima::rpc::strategy::ThreadPerRequestStrategy Class Reference

This class implements the thread per request strategy. The server creates a new thread for every new incomingrequest.

#include <ThreadPerRequestStrategy.h>

Inheritance diagram for eprosima::rpc::strategy::ThreadPerRequestStrategy:

eprosima::rpc::strategy::ThreadPerRequestStrategy

eprosima::rpc::strategy::ServerStrategy

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 143: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.44 eprosima::rpc::strategy::ThreadPoolStrategy Class Reference 129

Collaboration diagram for eprosima::rpc::strategy::ThreadPerRequestStrategy:

eprosima::rpc::strategy::ThreadPerRequestStrategy

eprosima::rpc::strategy::ServerStrategy

Public Member Functions

• ThreadPerRequestStrategy ()

Default constructor.

• virtual ∼ThreadPerRequestStrategy ()

Default destructor.

• ServerStrategyImpl ∗ getImpl ()

Gets the implementation of the strategy using Boost library.

8.43.1 Detailed Description

This class implements the thread per request strategy. The server creates a new thread for every new incomingrequest.

8.43.2 Member Function Documentation

8.43.2.1 ServerStrategyImpl∗ eprosima::rpc::strategy::ThreadPerRequestStrategy::getImpl ( ) [virtual]

Gets the implementation of the strategy using Boost library.

Returns

Strategy implementation.

Implements eprosima::rpc::strategy::ServerStrategy.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/strategies/ThreadPerRequestStrategy.h

8.44 eprosima::rpc::strategy::ThreadPoolStrategy Class Reference

This class implements a thread pool strategy. The server schedules the incoming requests in a free thread of thethread pool.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 144: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

130 Class Documentation

#include <ThreadPoolStrategy.h>

Inheritance diagram for eprosima::rpc::strategy::ThreadPoolStrategy:

eprosima::rpc::strategy::ThreadPoolStrategy

eprosima::rpc::strategy::ServerStrategy

Collaboration diagram for eprosima::rpc::strategy::ThreadPoolStrategy:

eprosima::rpc::strategy::ThreadPoolStrategy

eprosima::rpc::strategy::ServerStrategy

Public Member Functions

• ThreadPoolStrategy (unsigned int threadCount=FASTRPC_MIN_THREADS_DEFAULT)

Default constructor.

• ∼ThreadPoolStrategy ()

Default destructor.

• ServerStrategyImpl ∗ getImpl ()

Gets the implementation of the strategy using Boost library.

8.44.1 Detailed Description

This class implements a thread pool strategy. The server schedules the incoming requests in a free thread of thethread pool.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 145: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.44 eprosima::rpc::strategy::ThreadPoolStrategy Class Reference 131

8.44.2 Constructor & Destructor Documentation

8.44.2.1 eprosima::rpc::strategy::ThreadPoolStrategy::ThreadPoolStrategy ( unsigned int threadCount =FASTRPC_MIN_THREADS_DEFAULT )

Default constructor.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 146: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

132 Class Documentation

Parameters

threadCount Number of threads the thread pool will manage. Default value: 5.

8.44.3 Member Function Documentation

8.44.3.1 ServerStrategyImpl∗ eprosima::rpc::strategy::ThreadPoolStrategy::getImpl ( ) [virtual]

Gets the implementation of the strategy using Boost library.

Returns

Implementation of the strategy.

Implements eprosima::rpc::strategy::ServerStrategy.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/strategies/ThreadPoolStrategy.h

8.45 eprosima::rpc::transport::Transport Class Reference

This class is the base of all classes that implement a transport that could be used by the proxy or the server.

#include <Transport.h>

Inheritance diagram for eprosima::rpc::transport::Transport:

eprosima::rpc::transport::Transport

eprosima::rpc::transport::ProxyTransport

eprosima::rpc::transport::ServerTransport

eprosima::rpc::transport::HttpProxyTransport

eprosima::rpc::transport::TCPProxyTransport

eprosima::rpc::transport::HttpServerTransport

eprosima::rpc::transport::TCPServerTransport

Public Member Functions

• Transport ()

Default constructor.

• virtual ∼Transport ()

Default destructor.

• virtual const char ∗ getType () const =0

This function returns the type of the transport. This function has to be implemented by the child classes.

• virtual TransportBehaviour getBehaviour () const =0

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 147: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.46 eprosima::rpc::exception::UserException Class Reference 133

8.45.1 Detailed Description

This class is the base of all classes that implement a transport that could be used by the proxy or the server.

8.45.2 Member Function Documentation

8.45.2.1 virtual TransportBehaviour eprosima::rpc::transport::Transport::getBehaviour ( ) const [pure virtual]

2brief This function returns the behaviour of the transport.

Returns

The behaviour of the transport.

Implemented in eprosima::rpc::transport::ServerTransport, and eprosima::rpc::transport::ProxyTransport.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/transports/Transport.h

8.46 eprosima::rpc::exception::UserException Class Reference

This abstract class is used to create user exceptions.

#include <UserException.h>

Inheritance diagram for eprosima::rpc::exception::UserException:

eprosima::rpc::exception::UserException

eprosima::rpc::exception::Exception

std::exception

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 148: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

134 Class Documentation

Collaboration diagram for eprosima::rpc::exception::UserException:

eprosima::rpc::exception::UserException

eprosima::rpc::exception::Exception

std::exception

Public Member Functions

• virtual ∼UserException () throw ()

Default destructor.

• virtual void raise () const =0

This function throws the object as exception.

Protected Member Functions

• UserException ()

Default constructor.

• UserException (const UserException &ex)

Default copy constructor.

• UserException (UserException &&ex)

Default move constructor.

• UserException & operator= (const UserException &ex)

Assigment operation.

• UserException & operator= (UserException &&ex)

Assigment operation.

8.46.1 Detailed Description

This abstract class is used to create user exceptions.

8.46.2 Constructor & Destructor Documentation

8.46.2.1 eprosima::rpc::exception::UserException::UserException ( const UserException & ex ) [protected]

Default copy constructor.

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 149: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

8.46 eprosima::rpc::exception::UserException Class Reference 135

Parameters

ex UserException that will be copied.

8.46.2.2 eprosima::rpc::exception::UserException::UserException ( UserException && ex ) [protected]

Default move constructor.

Parameters

ex UserException that will be moved.

8.46.3 Member Function Documentation

8.46.3.1 UserException& eprosima::rpc::exception::UserException::operator= ( const UserException & ex )[protected]

Assigment operation.

Parameters

ex UserException that will be copied.

8.46.3.2 UserException& eprosima::rpc::exception::UserException::operator= ( UserException && ex )[protected]

Assigment operation.

Parameters

ex UserException that will be moved.

The documentation for this class was generated from the following file:

• includetmp/rpcrest/exceptions/UserException.h

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 150: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

Index

∼TCPServerTransporteprosima::rpc::transport::TCPServerTransport, 128

_FastBuffer_iteratoreprosima::rpc::protocol::rest::_FastBuffer_iterator,

26_setTransport

eprosima::rpc::protocol::Protocol, 82

activateInterfaceeprosima::rpc::protocol::FooRESTProtocol, 47

addParameprosima::rpc::protocol::rest::HTTPParameters, 62

BadParamExceptioneprosima::rpc::exception::BadParamException, 30

begineprosima::rpc::protocol::rest::FastBuffer, 40

beginSerializeTemplateParameterseprosima::rpc::protocol::rest::RESTSerializer, 88

bossProcesseprosima::rpc::transport::HttpServerTransport, 69

Client Module, 15ClientInternalException

eprosima::rpc::exception::ClientInternalException,33

connecteprosima::rpc::transport::HttpProxyTransport, 65eprosima::rpc::transport::ProxyTransport, 85eprosima::rpc::transport::TCPProxyTransport, 125

containsParameprosima::rpc::protocol::rest::HTTPParameters, 62

deserializeeprosima::rpc::protocol::rest::RESTSerializer, 88,

89, 91deserializeUri

eprosima::rpc::protocol::rest::RESTSerializer, 91

eProsima RPCREST API Reference, 13Emptyvoid

FooREST::FooResource::Emptyvoid, 34end

eprosima::rpc::protocol::rest::FastBuffer, 40endSerializeTemplateParameters

eprosima::rpc::protocol::rest::RESTSerializer, 91eprosima::rpc::exception::BadParamException, 28

BadParamException, 30operator=, 30

eprosima::rpc::exception::ClientInternalException, 31ClientInternalException, 33

operator=, 33eprosima::rpc::exception::Exception, 37

Exception, 39operator=, 39

eprosima::rpc::exception::IncompatibleException, 75IncompatibleException, 77operator=, 78

eprosima::rpc::exception::InitializeException, 78InitializeException, 80operator=, 81

eprosima::rpc::exception::ServerInternalException, 99operator=, 101ServerInternalException, 101

eprosima::rpc::exception::ServerNotFoundException,102

operator=, 104ServerNotFoundException, 104

eprosima::rpc::exception::ServerTimeoutException, 106operator=, 109ServerTimeoutException, 108, 109

eprosima::rpc::exception::SystemException, 114minor, 117operator=, 117SystemException, 116what, 117

eprosima::rpc::exception::UserException, 134operator=, 136UserException, 135, 136

eprosima::rpc::protocol::FooRESTProtocol, 46activateInterface, 47linkFooREST_FooResourceImpl, 47setTransport, 48

eprosima::rpc::protocol::Protocol, 81_setTransport, 82getTransport, 82setTransport, 82

eprosima::rpc::protocol::rest::_FastBuffer_iterator, 25_FastBuffer_iterator, 26memcopy, 26operator<<, 27operator>>, 27operator++, 26operator+=, 26operator-, 27operator&, 26rmemcopy, 27

eprosima::rpc::protocol::rest::FastBuffer, 39begin, 40end, 40

Page 151: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

INDEX 137

FastBuffer, 40getBuffer, 41getBufferSize, 41resize, 41

eprosima::rpc::protocol::rest::FooRESTProtocol, 48setTransport, 50worker, 50

eprosima::rpc::protocol::rest::HTTPData, 51get_data, 52getData, 52getMediaType, 52HTTPData, 51, 52set_data, 52, 53

eprosima::rpc::protocol::rest::HTTPMethod, 59get_data, 59getMethod, 59set_data, 60

eprosima::rpc::protocol::rest::HTTPParam, 60get_data, 61getName, 61getValue, 61HTTPParam, 61set_data, 61

eprosima::rpc::protocol::rest::HTTPParameters, 62addParam, 62containsParam, 62get_data, 63get_params, 63get_size, 63set_data, 63

eprosima::rpc::protocol::rest::HTTPResponseCode, 66get_data, 67getStatusCode, 67HTTPResponseCode, 66set_data, 67

eprosima::rpc::protocol::rest::HTTPUri, 71get_data, 72getPath, 72getResourcePath, 72HTTPUri, 71set_data, 72setBaseUri, 72setHost, 72

eprosima::rpc::protocol::rest::HTTPVersion, 73get_data, 73HTTPVersion, 73HTTPVersionRequest, 73HTTPVersionResponse, 75set_data, 75

eprosima::rpc::protocol::rest::RESTSerializer, 87beginSerializeTemplateParameters, 88deserialize, 88, 89, 91deserializeUri, 91endSerializeTemplateParameters, 91existsQueryParameter, 92existsTagLevel, 92getQueryParameter, 92getTag, 92

serialize, 92, 94, 96serializeQueryParameter, 96serializeTemplateParameter, 97

eprosima::rpc::proxy::Proxy, 83getProtocol, 84getTransport, 84Proxy, 83

eprosima::rpc::server::Server, 97process, 98Server, 98

eprosima::rpc::strategy::ServerStrategy, 105getImpl, 105

eprosima::rpc::strategy::ServerStrategyImpl, 106schedule, 106

eprosima::rpc::strategy::SingleThreadStrategy, 112getImpl, 113

eprosima::rpc::strategy::ThreadPerRequestStrategy,129

getImpl, 130eprosima::rpc::strategy::ThreadPoolStrategy, 130

getImpl, 133ThreadPoolStrategy, 132

eprosima::rpc::transport::BossProcess, 31eprosima::rpc::transport::Endpoint, 36eprosima::rpc::transport::HttpMessage, 53

getBodyContentLength, 55getBodyContentType, 55getBodyData, 55getContainsResponseStatus, 55getHost, 55getMethod, 55getMethodStr, 56getResponseCode, 56getResponseStatus, 56getUri, 56getVersionCompatible, 56HttpMessage, 54, 55setBodyContentLength, 56setBodyContentType, 57setBodyData, 57setHost, 57setMethod, 58setResponseCode, 58setResponseStatus, 58setUri, 58setVersionCompatible, 59

eprosima::rpc::transport::HttpProxyTransport, 63connect, 65HttpProxyTransport, 65receive, 65send, 65

eprosima::rpc::transport::HttpServerTransport, 67bossProcess, 69HttpServerTransport, 69sendReply, 69worker, 69

eprosima::rpc::transport::ProxyTransport, 84connect, 85

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 152: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

138 INDEX

getBehaviour, 85receive, 86send, 86

eprosima::rpc::transport::ServerTransport, 109getBehaviour, 111getCallback, 111getLinkedProtocol, 111getStrategy, 111linkProtocol, 111receive, 111sendReply, 112setCallback, 112setStrategy, 112

eprosima::rpc::transport::TCPEndpoint, 118getReadBuffer, 120getReadBufferCurrentPointer, 120getReadBufferEmptySpace, 120getReadBufferFillUse, 120getReadBufferLeftSpace, 120getReadBufferLeftUsedSpace, 120getReadBufferLength, 120getWriteBuffer, 121getWriteBufferLength, 121getWriteBufferUsage, 121increaseReadBufferCurrentPointer, 121increaseReadBufferFillUse, 121isOpen, 121resizeReadBuffer, 121resizeWriteBuffer, 123socket, 123write, 123

eprosima::rpc::transport::TCPProxyTransport, 124connect, 125receive, 125send, 126TCPProxyTransport, 125

eprosima::rpc::transport::TCPServerTransport, 126∼TCPServerTransport, 128receive, 128sendReply, 129TCPServerTransport, 128worker, 129

eprosima::rpc::transport::Transport, 133getBehaviour, 134

Exceptioneprosima::rpc::exception::Exception, 39

Exceptions, 17existsQueryParameter

eprosima::rpc::protocol::rest::RESTSerializer, 92existsTagLevel

eprosima::rpc::protocol::rest::RESTSerializer, 92

FastBuffereprosima::rpc::protocol::rest::FastBuffer, 40

FooREST::FooResource, 23FooREST::FooResource::Emptyvoid, 34

Emptyvoid, 34operator=, 35, 36status, 36

FooREST::FooResourceProxy, 41FooResourceProxy, 42

FooREST::FooResourceServer, 44FooResourceServer, 45

FooREST::FooResourceServerImpl, 45FooResourceProxy

FooREST::FooResourceProxy, 42FooResourceServer

FooREST::FooResourceServer, 45

get_dataeprosima::rpc::protocol::rest::HTTPData, 52eprosima::rpc::protocol::rest::HTTPMethod, 59eprosima::rpc::protocol::rest::HTTPParam, 61eprosima::rpc::protocol::rest::HTTPParameters, 63eprosima::rpc::protocol::rest::HTTPResponse-

Code, 67eprosima::rpc::protocol::rest::HTTPUri, 72eprosima::rpc::protocol::rest::HTTPVersion, 73

get_paramseprosima::rpc::protocol::rest::HTTPParameters, 63

get_sizeeprosima::rpc::protocol::rest::HTTPParameters, 63

getBehavioureprosima::rpc::transport::ProxyTransport, 85eprosima::rpc::transport::ServerTransport, 111eprosima::rpc::transport::Transport, 134

getBodyContentLengtheprosima::rpc::transport::HttpMessage, 55

getBodyContentTypeeprosima::rpc::transport::HttpMessage, 55

getBodyDataeprosima::rpc::transport::HttpMessage, 55

getBuffereprosima::rpc::protocol::rest::FastBuffer, 41

getBufferSizeeprosima::rpc::protocol::rest::FastBuffer, 41

getCallbackeprosima::rpc::transport::ServerTransport, 111

getContainsResponseStatuseprosima::rpc::transport::HttpMessage, 55

getDataeprosima::rpc::protocol::rest::HTTPData, 52

getHosteprosima::rpc::transport::HttpMessage, 55

getImpleprosima::rpc::strategy::ServerStrategy, 105eprosima::rpc::strategy::SingleThreadStrategy,

113eprosima::rpc::strategy::ThreadPerRequest-

Strategy, 130eprosima::rpc::strategy::ThreadPoolStrategy, 133

getLinkedProtocoleprosima::rpc::transport::ServerTransport, 111

getMediaTypeeprosima::rpc::protocol::rest::HTTPData, 52

getMethodeprosima::rpc::protocol::rest::HTTPMethod, 59eprosima::rpc::transport::HttpMessage, 55

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 153: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

INDEX 139

getMethodStreprosima::rpc::transport::HttpMessage, 56

getNameeprosima::rpc::protocol::rest::HTTPParam, 61

getPatheprosima::rpc::protocol::rest::HTTPUri, 72

getProtocoleprosima::rpc::proxy::Proxy, 84

getQueryParametereprosima::rpc::protocol::rest::RESTSerializer, 92

getReadBuffereprosima::rpc::transport::TCPEndpoint, 120

getReadBufferCurrentPointereprosima::rpc::transport::TCPEndpoint, 120

getReadBufferEmptySpaceeprosima::rpc::transport::TCPEndpoint, 120

getReadBufferFillUseeprosima::rpc::transport::TCPEndpoint, 120

getReadBufferLeftSpaceeprosima::rpc::transport::TCPEndpoint, 120

getReadBufferLeftUsedSpaceeprosima::rpc::transport::TCPEndpoint, 120

getReadBufferLengtheprosima::rpc::transport::TCPEndpoint, 120

getResourcePatheprosima::rpc::protocol::rest::HTTPUri, 72

getResponseCodeeprosima::rpc::transport::HttpMessage, 56

getResponseStatuseprosima::rpc::transport::HttpMessage, 56

getStatusCodeeprosima::rpc::protocol::rest::HTTPResponse-

Code, 67getStrategy

eprosima::rpc::transport::ServerTransport, 111getTag

eprosima::rpc::protocol::rest::RESTSerializer, 92getTransport

eprosima::rpc::protocol::Protocol, 82eprosima::rpc::proxy::Proxy, 84

getUrieprosima::rpc::transport::HttpMessage, 56

getValueeprosima::rpc::protocol::rest::HTTPParam, 61

getVersionCompatibleeprosima::rpc::transport::HttpMessage, 56

getWriteBuffereprosima::rpc::transport::TCPEndpoint, 121

getWriteBufferLengtheprosima::rpc::transport::TCPEndpoint, 121

getWriteBufferUsageeprosima::rpc::transport::TCPEndpoint, 121

HTTPDataeprosima::rpc::protocol::rest::HTTPData, 51, 52

HTTPParameprosima::rpc::protocol::rest::HTTPParam, 61

HTTPResponseCode

eprosima::rpc::protocol::rest::HTTPResponse-Code, 66

HTTPUrieprosima::rpc::protocol::rest::HTTPUri, 71

HTTPVersioneprosima::rpc::protocol::rest::HTTPVersion, 73

HTTPVersionRequesteprosima::rpc::protocol::rest::HTTPVersion, 73

HTTPVersionResponseeprosima::rpc::protocol::rest::HTTPVersion, 75

HttpMessageeprosima::rpc::transport::HttpMessage, 54, 55

HttpProxyTransporteprosima::rpc::transport::HttpProxyTransport, 65

HttpServerTransporteprosima::rpc::transport::HttpServerTransport, 69

IncompatibleExceptioneprosima::rpc::exception::IncompatibleException,

77increaseReadBufferCurrentPointer

eprosima::rpc::transport::TCPEndpoint, 121increaseReadBufferFillUse

eprosima::rpc::transport::TCPEndpoint, 121InitializeException

eprosima::rpc::exception::InitializeException, 80isOpen

eprosima::rpc::transport::TCPEndpoint, 121

linkFooREST_FooResourceImpleprosima::rpc::protocol::FooRESTProtocol, 47

linkProtocoleprosima::rpc::transport::ServerTransport, 111

memcopyeprosima::rpc::protocol::rest::_FastBuffer_iterator,

26minor

eprosima::rpc::exception::SystemException, 117

operator<<eprosima::rpc::protocol::rest::_FastBuffer_iterator,

27operator>>

eprosima::rpc::protocol::rest::_FastBuffer_iterator,27

operator++eprosima::rpc::protocol::rest::_FastBuffer_iterator,

26operator+=

eprosima::rpc::protocol::rest::_FastBuffer_iterator,26

operator-eprosima::rpc::protocol::rest::_FastBuffer_iterator,

27operator=

eprosima::rpc::exception::BadParamException, 30eprosima::rpc::exception::ClientInternalException,

33

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 154: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

140 INDEX

eprosima::rpc::exception::Exception, 39eprosima::rpc::exception::IncompatibleException,

78eprosima::rpc::exception::InitializeException, 81eprosima::rpc::exception::ServerInternalException,

101eprosima::rpc::exception::ServerNotFoundException,

104eprosima::rpc::exception::ServerTimeoutException,

109eprosima::rpc::exception::SystemException, 117eprosima::rpc::exception::UserException, 136FooREST::FooResource::Emptyvoid, 35, 36

operator&eprosima::rpc::protocol::rest::_FastBuffer_iterator,

26

processeprosima::rpc::server::Server, 98

Protocols, 21Proxy

eprosima::rpc::proxy::Proxy, 83

RESOURCES_BASE_URI, 86receive

eprosima::rpc::transport::HttpProxyTransport, 65eprosima::rpc::transport::ProxyTransport, 86eprosima::rpc::transport::ServerTransport, 111eprosima::rpc::transport::TCPProxyTransport, 125eprosima::rpc::transport::TCPServerTransport, 128

resizeeprosima::rpc::protocol::rest::FastBuffer, 41

resizeReadBuffereprosima::rpc::transport::TCPEndpoint, 121

resizeWriteBuffereprosima::rpc::transport::TCPEndpoint, 123

rmemcopyeprosima::rpc::protocol::rest::_FastBuffer_iterator,

27

scheduleeprosima::rpc::strategy::ServerStrategyImpl, 106

sendeprosima::rpc::transport::HttpProxyTransport, 65eprosima::rpc::transport::ProxyTransport, 86eprosima::rpc::transport::TCPProxyTransport, 126

sendReplyeprosima::rpc::transport::HttpServerTransport, 69eprosima::rpc::transport::ServerTransport, 112eprosima::rpc::transport::TCPServerTransport, 129

serializeeprosima::rpc::protocol::rest::RESTSerializer, 92,

94, 96serializeQueryParameter

eprosima::rpc::protocol::rest::RESTSerializer, 96serializeTemplateParameter

eprosima::rpc::protocol::rest::RESTSerializer, 97Server

eprosima::rpc::server::Server, 98

Server Module, 16ServerInternalException

eprosima::rpc::exception::ServerInternalException,101

ServerNotFoundExceptioneprosima::rpc::exception::ServerNotFoundException,

104ServerTimeoutException

eprosima::rpc::exception::ServerTimeoutException,108, 109

set_dataeprosima::rpc::protocol::rest::HTTPData, 52, 53eprosima::rpc::protocol::rest::HTTPMethod, 60eprosima::rpc::protocol::rest::HTTPParam, 61eprosima::rpc::protocol::rest::HTTPParameters, 63eprosima::rpc::protocol::rest::HTTPResponse-

Code, 67eprosima::rpc::protocol::rest::HTTPUri, 72eprosima::rpc::protocol::rest::HTTPVersion, 75

setBaseUrieprosima::rpc::protocol::rest::HTTPUri, 72

setBodyContentLengtheprosima::rpc::transport::HttpMessage, 56

setBodyContentTypeeprosima::rpc::transport::HttpMessage, 57

setBodyDataeprosima::rpc::transport::HttpMessage, 57

setCallbackeprosima::rpc::transport::ServerTransport, 112

setHosteprosima::rpc::protocol::rest::HTTPUri, 72eprosima::rpc::transport::HttpMessage, 57

setMethodeprosima::rpc::transport::HttpMessage, 58

setResponseCodeeprosima::rpc::transport::HttpMessage, 58

setResponseStatuseprosima::rpc::transport::HttpMessage, 58

setStrategyeprosima::rpc::transport::ServerTransport, 112

setTransporteprosima::rpc::protocol::FooRESTProtocol, 48eprosima::rpc::protocol::Protocol, 82eprosima::rpc::protocol::rest::FooRESTProtocol,

50setUri

eprosima::rpc::transport::HttpMessage, 58setVersionCompatible

eprosima::rpc::transport::HttpMessage, 59socket

eprosima::rpc::transport::TCPEndpoint, 123status

FooREST::FooResource::Emptyvoid, 36Strategies, 18SystemException

eprosima::rpc::exception::SystemException, 116

TCPProxyTransporteprosima::rpc::transport::TCPProxyTransport, 125

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen

Page 155: New Version 0.3.0 Generated by Doxygen 1.8 · 2014. 5. 26. · eProsima RPCREST C++ API Version 0.3.0 Generated by Doxygen 1.8.5 Wed May 14 2014 19:34:28

INDEX 141

TCPServerTransporteprosima::rpc::transport::TCPServerTransport, 128

ThreadPoolStrategyeprosima::rpc::strategy::ThreadPoolStrategy, 132

Transports, 19

UserExceptioneprosima::rpc::exception::UserException, 135, 136

whateprosima::rpc::exception::SystemException, 117

workereprosima::rpc::protocol::rest::FooRESTProtocol,

50eprosima::rpc::transport::HttpServerTransport, 69eprosima::rpc::transport::TCPServerTransport, 129

writeeprosima::rpc::transport::TCPEndpoint, 123

Generated on Wed May 14 2014 19:34:28 for eProsima RPCREST C++ API by Doxygen