MCPcopy Create free account
hub / github.com/AppleWin/AppleWin / RemoveInternal

Method RemoveInternal

source/CardManager.cpp:157–194  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

155}
156
157void CardManager::RemoveInternal(UINT slot)
158{
159 if (m_slot[slot])
160 {
161 // NB. object deleted below: delete m_slot[slot]
162 switch (m_slot[slot]->QueryType())
163 {
164 case CT_MouseInterface:
165 m_pMouseCard = NULL;
166 break;
167 case CT_SSC:
168 m_pSSC = NULL;
169 break;
170 case CT_GenericPrinter:
171 m_pParallelPrinterCard = NULL;
172 break;
173 case CT_LanguageCard:
174 case CT_LanguageCardIIe:
175 _ASSERT(slot == SLOT0);
176 GetLanguageCardMgr().SetLanguageCard(CT_Empty);
177 break;
178 case CT_Saturn128K:
179 if (slot == SLOT0)
180 GetLanguageCardMgr().SetLanguageCard(CT_Empty);
181 break;
182 case CT_VidHD:
183 m_pVidHDCard = NULL;
184 break;
185 case CT_Z80:
186 m_pZ80Card = NULL;
187 break;
188 }
189
190 UnregisterIoHandler(slot);
191 delete m_slot[slot];
192 m_slot[slot] = NULL;
193 }
194}
195
196void CardManager::Remove(UINT slot, bool updateRegistry/*=true*/)
197{

Callers

nothing calls this directly

Calls 3

UnregisterIoHandlerFunction · 0.85
QueryTypeMethod · 0.80
SetLanguageCardMethod · 0.80

Tested by

no test coverage detected