Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/network/synchronizeable_var/synchronizeable_bool.cc @ 9656

Last change on this file since 9656 was 9406, checked in by bensch, 18 years ago

orxonox/trunk: merged the proxy back

merged with commandsvn merge -r9346:HEAD https://svn.orxonox.net/orxonox/branches/proxy .

no conflicts

File size: 1.7 KB
Line 
1/*
2   orxonox - the future of 3D-vertical-scrollers
3
4   Copyright (C) 2004 orx
5
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 2, or (at your option)
9   any later version.
10
11   ### File Specific:
12   main-programmer: Christoph Renner
13   co-programmer: ...
14*/
15
16
17#include "synchronizeable_bool.h"
18#include <cassert>
19
20
21/**
22 * standard constructor
23 */
24SynchronizeableBool::SynchronizeableBool( bool * ptrIn, bool * ptrOut, std::string name, int permission, int priority) : SynchronizeableVar( ptrIn, ptrOut, name, 1, permission, priority )
25{
26  this->vPtrIn = ptrIn;
27  this->vPtrOut = ptrOut;
28}
29
30
31/**
32 * standard deconstructor
33*/
34SynchronizeableBool::~SynchronizeableBool ()
35{
36}
37
38/**
39 * write var data to byte buffer
40 * @param buf pointer to write to
41 * @param maxLength writeToBuf will not write more than maxLength bytes
42 * @return number bytes written
43 */
44int SynchronizeableBool::writeToBuf( byte * buf, int maxLength )
45{
46  assert( maxLength >= 1 );
47
48  buf[0] = ( *vPtrIn ) ? 1 : 0;
49
50  return 1;
51}
52
53/**
54 * read var data from byte buffer
55 * @param buf pointer to read from
56 * @param maxLength readFromBuf will not read more than maxLength bytes
57 * @return number bytes read
58 */
59int SynchronizeableBool::readFromBuf( byte * buf, int maxLength )
60{
61  assert( maxLength >= 1 );
62
63  bool oldVal = *vPtrOut;
64
65  *vPtrOut = buf[0] != 0;
66
67  setHasChanged( oldVal != *vPtrOut );
68
69  return 1;
70}
71
72/**
73 * print out variable value
74 */
75void SynchronizeableBool::debug( )
76{
77  printf( "SYNCHRONIZEABLE_VAR: %s IN: %d OUT: %d\n", name.c_str(), (int)*vPtrIn, (int)*vPtrOut );
78}
79
80
Note: See TracBrowser for help on using the repository browser.