Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file since 8286 was 7954, checked in by patrick, 18 years ago

trunk: merged the network branche back to trunk.

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
19
20/**
21 * standard constructor
22 */
23SynchronizeableBool::SynchronizeableBool( bool * ptrIn, bool * ptrOut, std::string name, int permission, int priority) : SynchronizeableVar( ptrIn, ptrOut, name, 1, permission, priority )
24{
25  this->vPtrIn = ptrIn;
26  this->vPtrOut = ptrOut;
27}
28
29
30/**
31 * standard deconstructor
32*/
33SynchronizeableBool::~SynchronizeableBool ()
34{
35}
36
37/**
38 * write var data to byte buffer
39 * @param buf pointer to write to
40 * @param maxLength writeToBuf will not write more than maxLength bytes
41 * @return number bytes written
42 */
43int SynchronizeableBool::writeToBuf( byte * buf, int maxLength )
44{
45  assert( maxLength >= 1 );
46 
47  buf[0] = ( *vPtrIn ) ? 1 : 0;
48 
49  return 1;
50}
51
52/**
53 * read var data from byte buffer
54 * @param buf pointer to read from
55 * @param maxLength readFromBuf will not read more than maxLength bytes
56 * @return number bytes read
57 */
58int SynchronizeableBool::readFromBuf( byte * buf, int maxLength )
59{
60  assert( maxLength >= 1 );
61 
62  bool oldVal = *vPtrOut;
63 
64  *vPtrOut = buf[0] != 0;
65 
66  setHasChanged( oldVal != *vPtrOut );
67 
68  return 1;
69}
70
71/**
72 * print out variable value
73 */
74void SynchronizeableBool::debug( )
75{
76  printf( "SYNCHRONIZEABLE_VAR: %s IN: %d OUT: %d\n", name.c_str(), (int)*vPtrIn, (int)*vPtrOut );
77}
78
79
Note: See TracBrowser for help on using the repository browser.