OJapiAppBallotmaster::OJapiAppBallotmaster(OJapiCambrian * poCambrian, const SApplicationHtmlInfo *pApplicationInfo) : OJapiAppInfo(pApplicationInfo)
	{
	Assert(poCambrian != NULL);
	m_pServiceBallotmaster = poCambrian->m_pProfile->PGetServiceBallotmaster_NZ();
	Assert(m_pServiceBallotmaster->EGetRuntimeClass() == RTI_SZ(CServiceBallotmaster));
	m_pNext = s_plistBallotmasters;	// Insert the new objec at the beginning of the list
	s_plistBallotmasters = this;
	}
IService *
IService::S_PaAllocateService_YZ(TProfile * pProfileParent, RTI_ENUM rtiService)
	{
	Assert(pProfileParent != NULL);
	Assert(pProfileParent->EGetRuntimeClass() == RTI(TProfile));
	switch (rtiService)
		{
	case RTI_SZ(CServiceBallotmaster):
		return new CServiceBallotmaster(pProfileParent);
	#ifdef DEBUG
	default:
		MessageLog_AppendTextFormatSev(eSeverityErrorWarning, "Unknown service '$U'\n", rtiService);
	#endif
		}
	return NULL;
	}