Update of /cvsroot/playerstage/code/player/examples/plugins/exampleinterface
In directory
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25787/examples/plugins/exampleinterface
Modified Files:
Tag: b_thjc_dynamic_arrays
.cvsignore eginterf_client.c eginterf.c Makefile.am
eginterf_xdr.h eginterf_xdr.c
Log Message:
Merged some changes from head a while back
Work on updating drivers, A-J done, laser is next
Index: .cvsignore
===================================================================
RCS file:
/cvsroot/playerstage/code/player/examples/plugins/exampleinterface/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -C2 -d -r1.1 -r1.1.2.1
*** .cvsignore 9 Jun 2007 04:15:08 -0000 1.1
--- .cvsignore 10 Oct 2007 09:26:06 -0000 1.1.2.1
***************
*** 1,2 ****
--- 1,7 ----
Makefile
Makefile.in
+ *.lo
+ *.la
+ .deps
+ .libs
+ example_client
Index: eginterf.c
===================================================================
RCS file:
/cvsroot/playerstage/code/player/examples/plugins/exampleinterface/eginterf.c,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -C2 -d -r1.1 -r1.1.2.1
*** eginterf.c 22 May 2007 07:52:53 -0000 1.1
--- eginterf.c 10 Oct 2007 09:26:06 -0000 1.1.2.1
***************
*** 35,43 ****
{
{PLAYER_EGINTERF_CODE, PLAYER_MSGTYPE_DATA, EGINTERF_DATA,
! (player_pack_fn_t)player_eginterf_data_pack,
(player_dpcpy_fn_t)player_eginterf_data_dpcpy,
(player_cleanup_fn_t)player_eginterf_data_cleanup},
{PLAYER_EGINTERF_CODE, PLAYER_MSGTYPE_REQ, EGINTERF_REQ,
! (player_pack_fn_t)player_eginterf_req_pack, NULL, NULL},
{PLAYER_EGINTERF_CODE, PLAYER_MSGTYPE_CMD, EGINTERF_CMD,
! (player_pack_fn_t)player_eginterf_cmd_pack, NULL, NULL},
/* This NULL element signals the end of the list */
--- 35,43 ----
{
{PLAYER_EGINTERF_CODE, PLAYER_MSGTYPE_DATA, EGINTERF_DATA,
! (player_pack_fn_t)player_eginterf_data_pack,
(player_copy_fn_t)player_eginterf_data_copy,
(player_cleanup_fn_t)player_eginterf_data_cleanup},
{PLAYER_EGINTERF_CODE, PLAYER_MSGTYPE_REQ, EGINTERF_REQ,
! (player_pack_fn_t)player_eginterf_req_pack,
(player_copy_fn_t)player_eginterf_req_copy,
(player_cleanup_fn_t)player_eginterf_req_cleanup},
{PLAYER_EGINTERF_CODE, PLAYER_MSGTYPE_CMD, EGINTERF_CMD,
! (player_pack_fn_t)player_eginterf_cmd_pack,
(player_copy_fn_t)player_eginterf_cmd_copy,
(player_cleanup_fn_t)player_eginterf_cmd_cleanup},
/* This NULL element signals the end of the list */
Index: Makefile.am
===================================================================
RCS file:
/cvsroot/playerstage/code/player/examples/plugins/exampleinterface/Makefile.am,v
retrieving revision 1.4
retrieving revision 1.4.2.1
diff -C2 -d -r1.4 -r1.4.2.1
*** Makefile.am 5 Sep 2007 21:31:42 -0000 1.4
--- Makefile.am 10 Oct 2007 09:26:06 -0000 1.4.2.1
***************
*** 18,21 ****
--- 18,27 ----
EXTRA_DIST = Makefile.example example.cfg eginterf_client.h eginterf.h
eginterf_xdr.h
+ eginterf_xdr.c: eginterf.h ${top_builddir}/libplayerxdr/playerxdrgen.py
+ python ${top_builddir}/libplayerxdr/playerxdrgen.py eginterf.h
eginterf_xdr.c eginterf_xdr.h
+
+ eginterf_xdr.h: eginterf.h ${top_builddir}/libplayerxdr/playerxdrgen.py
+ python ${top_builddir}/libplayerxdr/playerxdrgen.py eginterf.h
eginterf_xdr.c eginterf_xdr.h
+
example_LTLIBRARIES = libeginterfdriver.la libeginterf.la
libeginterfdriver_la_SOURCES = eginterf_driver.cc
Index: eginterf_client.c
===================================================================
RCS file:
/cvsroot/playerstage/code/player/examples/plugins/exampleinterface/eginterf_client.c,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -C2 -d -r1.1 -r1.1.2.1
*** eginterf_client.c 22 May 2007 07:52:54 -0000 1.1
--- eginterf_client.c 10 Oct 2007 09:26:06 -0000 1.1.2.1
***************
*** 18,21 ****
--- 18,22 ----
#include "eginterf.h"
+ #include "eginterf_xdr.h"
#include "eginterf_client.h"
***************
*** 83,93 ****
int result = 0;
player_eginterf_req req;
! player_eginterf_req rep;
memset (&rep, 0, sizeof (player_eginterf_req));
req.value = blah;
! if ((result = playerc_client_request (device->info.client,
&device->info, EGINTERF_REQ, &req, &rep, sizeof (player_eginterf_req))) < 0)
return result;
! device->value = rep.value;
return 0;
}
--- 84,95 ----
int result = 0;
player_eginterf_req req;
! player_eginterf_req *rep;
memset (&rep, 0, sizeof (player_eginterf_req));
req.value = blah;
! if ((result = playerc_client_request (device->info.client,
&device->info, EGINTERF_REQ, &req, (void**)&rep)) < 0)
return result;
! device->value = rep->value;
! player_eginterf_req_free(rep);
return 0;
}
Index: eginterf_xdr.h
===================================================================
RCS file:
/cvsroot/playerstage/code/player/examples/plugins/exampleinterface/eginterf_xdr.h,v
retrieving revision 1.2
retrieving revision 1.2.2.1
diff -C2 -d -r1.2 -r1.2.2.1
*** eginterf_xdr.h 21 Aug 2007 23:16:24 -0000 1.2
--- eginterf_xdr.h 10 Oct 2007 09:26:06 -0000 1.2.2.1
***************
*** 1,17 ****
! /*
! * The functions that tell XDR how to pack, unpack, deep copy and clean up
! * message structures are declared here. This file was generated automatically
! * by playerxdrgen.py, then cleaned up.
! */
- #include <stdlib.h>
#include "eginterf.h"
! int xdr_player_eginterf_data(XDR* xdrs, player_eginterf_data* msg);
! int player_eginterf_data_pack(void* buf, size_t buflen, player_eginterf_data*
msg, int op);
! unsigned int player_eginterf_data_dpcpy(const player_eginterf_data* src,
player_eginterf_data* dest);
! void player_eginterf_data_cleanup(player_eginterf_data* msg);
! int xdr_player_eginterf_req(XDR* xdrs, player_eginterf_req* msg);
! int player_eginterf_req_pack(void* buf, size_t buflen, player_eginterf_req*
msg, int op);
! int xdr_player_eginterf_cmd(XDR* xdrs, player_eginterf_cmd* msg);
! int player_eginterf_cmd_pack(void* buf, size_t buflen, player_eginterf_cmd*
msg, int op);
--- 1,37 ----
! #ifndef _EGINTERF_
!
! #include <libplayerxdr/playerxdr.h>
#include "eginterf.h"
! #ifdef __cplusplus
! extern "C" {
! #endif
!
! int xdr_player_eginterf_data (XDR* xdrs, player_eginterf_data * msg);
! int player_eginterf_data_pack(void* buf, size_t buflen, player_eginterf_data
* msg, int op);
! unsigned int player_eginterf_data_copy(player_eginterf_data *dest, const
player_eginterf_data *src);
! void player_eginterf_data_cleanup(const player_eginterf_data *msg);
! player_eginterf_data * player_eginterf_data_clone(const player_eginterf_data
*msg);
! void player_eginterf_data_free(player_eginterf_data *msg);
! unsigned int player_eginterf_data_sizeof(player_eginterf_data *msg);
! int xdr_player_eginterf_req (XDR* xdrs, player_eginterf_req * msg);
! int player_eginterf_req_pack(void* buf, size_t buflen, player_eginterf_req *
msg, int op);
! unsigned int player_eginterf_req_copy(player_eginterf_req *dest, const
player_eginterf_req *src);
! void player_eginterf_req_cleanup(const player_eginterf_req *msg);
! player_eginterf_req * player_eginterf_req_clone(const player_eginterf_req
*msg);
! void player_eginterf_req_free(player_eginterf_req *msg);
! unsigned int player_eginterf_req_sizeof(player_eginterf_req *msg);
! int xdr_player_eginterf_cmd (XDR* xdrs, player_eginterf_cmd * msg);
! int player_eginterf_cmd_pack(void* buf, size_t buflen, player_eginterf_cmd *
msg, int op);
! unsigned int player_eginterf_cmd_copy(player_eginterf_cmd *dest, const
player_eginterf_cmd *src);
! void player_eginterf_cmd_cleanup(const player_eginterf_cmd *msg);
! player_eginterf_cmd * player_eginterf_cmd_clone(const player_eginterf_cmd
*msg);
! void player_eginterf_cmd_free(player_eginterf_cmd *msg);
! unsigned int player_eginterf_cmd_sizeof(player_eginterf_cmd *msg);
!
! #ifdef __cplusplus
! }
! #endif
!
! #endif
Index: eginterf_xdr.c
===================================================================
RCS file:
/cvsroot/playerstage/code/player/examples/plugins/exampleinterface/eginterf_xdr.c,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -C2 -d -r1.1 -r1.1.2.1
*** eginterf_xdr.c 22 May 2007 07:52:54 -0000 1.1
--- eginterf_xdr.c 10 Oct 2007 09:26:06 -0000 1.1.2.1
***************
*** 1,17 ****
! /*
! * The functions that tell XDR how to pack, unpack, deep copy and clean up
! * message structures are defined here. This file was generated automatically
! * by playerxdrgen.py.
! */
! #include <libplayerxdr/playerxdr.h>
#include <string.h>
- #include "eginterf_xdr.h"
! int
! xdr_player_eginterf_data(XDR* xdrs, player_eginterf_data* msg)
! {
! if(xdr_u_int(xdrs,&msg->stuff_count) != 1)
return(0);
if(xdrs->x_op == XDR_DECODE)
--- 1,12 ----
! #include <rpc/types.h>
! #include <rpc/xdr.h>
! #include "eginterf_xdr.h"
#include <string.h>
+ #include <stdlib.h>
! int xdr_player_eginterf_data (XDR* xdrs, player_eginterf_data * msg)
! { if(xdr_u_int(xdrs,&msg->stuff_count) != 1)
return(0);
if(xdrs->x_op == XDR_DECODE)
***************
*** 27,51 ****
return(1);
}
!
! int
! player_eginterf_data_pack(void* buf, size_t buflen, player_eginterf_data*
msg, int op)
{
XDR xdrs;
int len;
if(!buflen)
! return(0);
xdrmem_create(&xdrs, buf, buflen, op);
! if(xdr_u_int(&xdrs,&msg->stuff_count) != 1)
return(-1);
- if(op == PLAYERXDR_DECODE)
- {
- if((msg->stuff = malloc(msg->stuff_count*sizeof(double))) == NULL)
- return(-1);
- }
- {
- double* stuff_p = msg->stuff;
- if(xdr_array(&xdrs, (char**)&stuff_p, &msg->stuff_count,
msg->stuff_count, sizeof(double), (xdrproc_t)xdr_double) != 1)
- return(-1);
- }
if(op == PLAYERXDR_ENCODE)
len = xdr_getpos(&xdrs);
--- 22,35 ----
return(1);
}
! int
! player_eginterf_data_pack(void* buf, size_t buflen, player_eginterf_data *
msg, int op)
{
XDR xdrs;
int len;
if(!buflen)
! return 0;
xdrmem_create(&xdrs, buf, buflen, op);
! if(xdr_player_eginterf_data(&xdrs,msg) != 1)
return(-1);
if(op == PLAYERXDR_ENCODE)
len = xdr_getpos(&xdrs);
***************
*** 54,104 ****
xdr_destroy(&xdrs);
return(len);
! }
!
! unsigned int
! player_eginterf_data_dpcpy(const player_eginterf_data* src,
player_eginterf_data* dest)
! {
if(src == NULL)
return(0);
! unsigned int size = 0;
if(src->stuff != NULL && src->stuff_count > 0)
{
! if((dest->stuff = malloc(src->stuff_count*sizeof(double))) == NULL)
return(0);
- memcpy(dest->stuff, src->stuff, src->stuff_count*sizeof(double));
- size += src->stuff_count*sizeof(double);
}
else
dest->stuff = NULL;
return(size);
}
!
! void
! player_eginterf_data_cleanup(player_eginterf_data* msg)
! {
if(msg == NULL)
return;
! if(msg->stuff == NULL)
! return;
! free(msg->stuff);
}
!
! int
! xdr_player_eginterf_req(XDR* xdrs, player_eginterf_req* msg)
{
! if(xdr_int(xdrs,&msg->value) != 1)
return(0);
! return(1);
}
! int
! player_eginterf_req_pack(void* buf, size_t buflen, player_eginterf_req* msg,
int op)
{
XDR xdrs;
int len;
if(!buflen)
! return(0);
xdrmem_create(&xdrs, buf, buflen, op);
! if(xdr_int(&xdrs,&msg->value) != 1)
return(-1);
if(op == PLAYERXDR_ENCODE)
--- 38,105 ----
xdr_destroy(&xdrs);
return(len);
! }
! unsigned int player_eginterf_data_copy(player_eginterf_data *dest, const
player_eginterf_data *src)
! {
!
! unsigned int size = 0;
if(src == NULL)
return(0);
! size += sizeof(uint32_t)*1;
! memcpy(&dest->stuff_count,&src->stuff_count,sizeof(uint32_t)*1);
if(src->stuff != NULL && src->stuff_count > 0)
{
! if((dest->stuff = calloc(src->stuff_count,sizeof(double))) == NULL)
return(0);
}
else
dest->stuff = NULL;
+ size += sizeof(double)*src->stuff_count;
+ memcpy(dest->stuff,src->stuff,sizeof(double)*src->stuff_count);
return(size);
}
! void player_eginterf_data_cleanup(const player_eginterf_data *msg)
! {
!
if(msg == NULL)
return;
! free(msg->stuff);
}
! player_eginterf_data * player_eginterf_data_clone(const player_eginterf_data
*msg)
! {
! player_eginterf_data * clone = malloc(sizeof(player_eginterf_data));
! if (clone)
! player_eginterf_data_copy(clone,msg);
! return clone;
! }
! void player_eginterf_data_free(player_eginterf_data *msg)
! {
! player_eginterf_data_cleanup(msg);
! free(msg);
! }
! unsigned int player_eginterf_data_sizeof(player_eginterf_data *msg)
{
!
! unsigned int size = 0;
! if(msg == NULL)
return(0);
! size += sizeof(uint32_t)*1;
! size += sizeof(double)*msg->stuff_count;
! return(size);
}
! int xdr_player_eginterf_req (XDR* xdrs, player_eginterf_req * msg)
! { if(xdr_int(xdrs,&msg->value) != 1)
! return(0);
! return(1);
! }
! int
! player_eginterf_req_pack(void* buf, size_t buflen, player_eginterf_req * msg,
int op)
{
XDR xdrs;
int len;
if(!buflen)
! return 0;
xdrmem_create(&xdrs, buf, buflen, op);
! if(xdr_player_eginterf_req(&xdrs,msg) != 1)
return(-1);
if(op == PLAYERXDR_ENCODE)
***************
*** 108,130 ****
xdr_destroy(&xdrs);
return(len);
}
!
! int
! xdr_player_eginterf_cmd(XDR* xdrs, player_eginterf_cmd* msg)
{
! if(xdr_char(xdrs,&msg->doStuff) != 1)
return(0);
return(1);
}
!
! int
! player_eginterf_cmd_pack(void* buf, size_t buflen, player_eginterf_cmd* msg,
int op)
{
XDR xdrs;
int len;
if(!buflen)
! return(0);
xdrmem_create(&xdrs, buf, buflen, op);
! if(xdr_char(&xdrs,&msg->doStuff) != 1)
return(-1);
if(op == PLAYERXDR_ENCODE)
--- 109,154 ----
xdr_destroy(&xdrs);
return(len);
+ }
+ unsigned int player_eginterf_req_copy(player_eginterf_req *dest, const
player_eginterf_req *src)
+ {
+ if (dest == NULL || src == NULL)
+ return 0;
+ memcpy(dest,src,sizeof(player_eginterf_req));
+ return sizeof(player_eginterf_req);
+ }
+ void player_eginterf_req_cleanup(const player_eginterf_req *msg)
+ {
+ }
+ player_eginterf_req * player_eginterf_req_clone(const player_eginterf_req
*msg)
+ {
+ player_eginterf_req * clone = malloc(sizeof(player_eginterf_req));
+ if (clone)
+ player_eginterf_req_copy(clone,msg);
+ return clone;
}
! void player_eginterf_req_free(player_eginterf_req *msg)
! {
! player_eginterf_req_cleanup(msg);
! free(msg);
! }
! unsigned int player_eginterf_req_sizeof(player_eginterf_req *msg)
{
! return sizeof(player_eginterf_req);
! }
!
! int xdr_player_eginterf_cmd (XDR* xdrs, player_eginterf_cmd * msg)
! { if(xdr_char(xdrs,&msg->doStuff) != 1)
return(0);
return(1);
}
! int
! player_eginterf_cmd_pack(void* buf, size_t buflen, player_eginterf_cmd * msg,
int op)
{
XDR xdrs;
int len;
if(!buflen)
! return 0;
xdrmem_create(&xdrs, buf, buflen, op);
! if(xdr_player_eginterf_cmd(&xdrs,msg) != 1)
return(-1);
if(op == PLAYERXDR_ENCODE)
***************
*** 134,137 ****
xdr_destroy(&xdrs);
return(len);
}
!
--- 158,186 ----
xdr_destroy(&xdrs);
return(len);
+ }
+ unsigned int player_eginterf_cmd_copy(player_eginterf_cmd *dest, const
player_eginterf_cmd *src)
+ {
+ if (dest == NULL || src == NULL)
+ return 0;
+ memcpy(dest,src,sizeof(player_eginterf_cmd));
+ return sizeof(player_eginterf_cmd);
+ }
+ void player_eginterf_cmd_cleanup(const player_eginterf_cmd *msg)
+ {
+ }
+ player_eginterf_cmd * player_eginterf_cmd_clone(const player_eginterf_cmd
*msg)
+ {
+ player_eginterf_cmd * clone = malloc(sizeof(player_eginterf_cmd));
+ if (clone)
+ player_eginterf_cmd_copy(clone,msg);
+ return clone;
}
! void player_eginterf_cmd_free(player_eginterf_cmd *msg)
! {
! player_eginterf_cmd_cleanup(msg);
! free(msg);
! }
! unsigned int player_eginterf_cmd_sizeof(player_eginterf_cmd *msg)
! {
! return sizeof(player_eginterf_cmd);
! }
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit