ALMaSS Partridge ODdox  1.1
The partridge model description following ODdox protocol
Partridge_Communication.h
Go to the documentation of this file.
1 /*
2 *******************************************************************************************************
3 Copyright (c) 2011, Christopher John Topping, University of Aarhus
4 All rights reserved.
5 
6 Redistribution and use in source and binary forms, with or without modification, are permitted provided
7 that the following conditions are met:
8 
9 Redistributions of source code must retain the above copyright notice, this list of conditions and the
10 following disclaimer.
11 Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
12 the following disclaimer in the documentation and/or other materials provided with the distribution.
13 
14 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
15 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
16 FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
17 BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
18 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
19 BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
20 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
21 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22 ********************************************************************************************************
23 */
37 //---------------------------------------------------------------------------
38 #ifndef partridge_communicationH
39  #define partridge_communicationH
40 //---------------------------------------------------------------------------
41 
42 class Partridge_Covey;
43 class Partridge_Clutch;
44 class Partridge_Chick;
45 class Partridge_Chick2;
46 class Partridge_Male;
47 class Partridge_Female;
48 
53 typedef enum {
71 }
73 
79  // Attributes
86  bool m_HaveTerritory; // Special bool - used a lot
87  bool m_boolean; // used for transfer of boolean values
88  int m_int; // used for transfer of int values
89  double m_float; // used for transfer of double values
90 };
91 
101 public:
102  // Methods
107  void ClearData(PartridgeCommunicationData* pc_data);
113 };
114 
115 #endif
pcomm_MumDeadC
Definition: Partridge_Communication.h:66
Partridge_Male
The partridge male class.
Definition: Partridge_All.h:657
Partridge_Female
The partridge female class.
Definition: Partridge_All.h:770
Partridge_Communication::PassMessage
bool PassMessage(PartridgeCommunicationData *pc_data, TypeOfPartridge_Communication pc)
Pass a message.
Definition: Partridge_Communication.cpp:86
pcomm_KillChick
Definition: Partridge_Communication.h:54
pcomm_ClutchEaten
Definition: Partridge_Communication.h:68
Partridge_Communication
Used for messaging.
Definition: Partridge_Communication.h:100
pcomm_MovingHome
Definition: Partridge_Communication.h:70
pcomm_ClutchMown
Definition: Partridge_Communication.h:65
PartridgeCommunicationData::m_boolean
bool m_boolean
Definition: Partridge_Communication.h:87
pcomm_ChicksMature
Definition: Partridge_Communication.h:56
Partridge_Clutch
The partridge clutch class.
Definition: Partridge_All.h:518
pcomm_Mating
Definition: Partridge_Communication.h:57
PartridgeCommunicationData::m_male
Partridge_Male * m_male
Definition: Partridge_Communication.h:83
Partridge_Communication::ClearData
void ClearData(PartridgeCommunicationData *pc_data)
Void data.
Definition: Partridge_Communication.cpp:66
pcomm_StoppingBreeding
Definition: Partridge_Communication.h:69
PartridgeCommunicationData::m_chick2
Partridge_Chick2 * m_chick2
Definition: Partridge_Communication.h:82
PartridgeCommunicationData::m_female
Partridge_Female * m_female
Definition: Partridge_Communication.h:84
pcomm_FemaleGivingUp
Definition: Partridge_Communication.h:67
Partridge_Covey
The collective for a family of partridges
Definition: Partridge_Covey.h:90
PartridgeCommunicationData::m_float
double m_float
Definition: Partridge_Communication.h:89
PartridgeCommunicationData::m_covey
Partridge_Covey * m_covey
Definition: Partridge_Communication.h:85
pcomm_SetClutch
Definition: Partridge_Communication.h:62
pcomm_WaitForMale
Definition: Partridge_Communication.h:64
pcomm_EggsHatch
Definition: Partridge_Communication.h:61
pcomm_MaleDying
Definition: Partridge_Communication.h:55
pcomm_AllChicksDead
Definition: Partridge_Communication.h:63
pcomm_MatingM
Definition: Partridge_Communication.h:58
Partridge_Chick
Partridge chick class.
Definition: Partridge_All.h:581
PartridgeCommunicationData::m_int
int m_int
Definition: Partridge_Communication.h:88
PartridgeCommunicationData
Data structure of a message.
Definition: Partridge_Communication.h:78
TypeOfPartridge_Communication
TypeOfPartridge_Communication
Possible messages to pass.
Definition: Partridge_Communication.h:53
PartridgeCommunicationData::m_clutch
Partridge_Clutch * m_clutch
Definition: Partridge_Communication.h:80
pcomm_AllInfertile
Definition: Partridge_Communication.h:60
PartridgeCommunicationData::m_chick
Partridge_Chick * m_chick
Definition: Partridge_Communication.h:81
Partridge_Chick2
The partridge Chick2 class.
Definition: Partridge_All.h:628
pcomm_ClutchDead
Definition: Partridge_Communication.h:59
PartridgeCommunicationData::m_HaveTerritory
bool m_HaveTerritory
Definition: Partridge_Communication.h:86