ClientMessage.hpp
Go to the documentation of this file.
1 /*----------------------------------------------------------------------------*/
2 /* */
3 /* Copyright (c) 1995, 2004 IBM Corporation. All rights reserved. */
4 /* Copyright (c) 2005-2009 Rexx Language Association. All rights reserved. */
5 /* */
6 /* This program and the accompanying materials are made available under */
7 /* the terms of the Common Public License v1.0 which accompanies this */
8 /* distribution. A copy is also available at the following address: */
9 /* http://www.ibm.com/developerworks/oss/CPLv1.0.htm */
10 /* */
11 /* Redistribution and use in source and binary forms, with or */
12 /* without modification, are permitted provided that the following */
13 /* conditions are met: */
14 /* */
15 /* Redistributions of source code must retain the above copyright */
16 /* notice, this list of conditions and the following disclaimer. */
17 /* Redistributions in binary form must reproduce the above copyright */
18 /* notice, this list of conditions and the following disclaimer in */
19 /* the documentation and/or other materials provided with the distribution. */
20 /* */
21 /* Neither the name of Rexx Language Association nor the names */
22 /* of its contributors may be used to endorse or promote products */
23 /* derived from this software without specific prior written permission. */
24 /* */
25 /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
26 /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
27 /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
28 /* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
29 /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
30 /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
31 /* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
32 /* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */
33 /* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
34 /* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */
35 /* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
36 /* */
37 /*----------------------------------------------------------------------------*/
38 
39 #ifndef ClientMessage_HPP_INCLUDED
40 #define ClientMessage_HPP_INCLUDED
41 
42 #include "rexx.h"
43 #include "ServiceMessage.hpp"
44 
45 class SysClientStream;
46 
48 {
49 public:
51  {
52  messageTarget = target;
53  operation = op;
54  }
55 
57  {
58  messageTarget = target;
59  operation = op;
60  parameter1 = p1;
61  }
62 
63  inline ClientMessage(ServerManager target, ServerOperation op, const char *p1) : ServiceMessage()
64  {
65  messageTarget = target;
66  operation = op;
67  if (p1 != NULL)
68  {
69  strncpy(nameArg, p1, NAMESIZE);
70  }
71  else
72  {
73  strncpy(nameArg, "", NAMESIZE);
74  }
75  }
76 
77  inline ClientMessage(ServerManager target, ServerOperation op, uintptr_t p1, const char *name) : ServiceMessage()
78  {
79  messageTarget = target;
80  operation = op;
81  parameter1 = p1;
82  if (name != NULL)
83  {
84  strncpy(nameArg, name, NAMESIZE);
85  }
86  else
87  {
88  strncpy(nameArg, "", NAMESIZE);
89  }
90  }
91 
92  inline ~ClientMessage()
93  {
94  // free the message data, if obtained from the server
96  }
97 
98  void send();
99  void send(SysClientStream *pipe);
100 };
101 
102 #endif
103 
ServerOperation
ServerManager
ClientMessage(ServerManager target, ServerOperation op)
ClientMessage(ServerManager target, ServerOperation op, uintptr_t p1)
ClientMessage(ServerManager target, ServerOperation op, const char *p1)
ClientMessage(ServerManager target, ServerOperation op, uintptr_t p1, const char *name)
ServerManager messageTarget
ServerOperation operation
char nameArg[NAMESIZE]
uintptr_t parameter1
UINT_PTR uintptr_t