Welcome to CppMicroServices’s documentation!¶
The CppMicroServices project is a C++ library for creating and managing modular software systems based on ideas from OSGi. The code is open source, and available on github.
The main documentation for the site is organized into a couple sections. Start reading at the top for a quick start.
Best Practices
- Tutorial
- Example 1 - Service Event Listener
- Example 2 - Dictionary Service Bundle
- Example 2b - Alternative Dictionary Service Bundle
- Example 3 - Dictionary Client Bundle
- Example 4 - Robust Dictionary Client Bundle
- Example 5 - Service Tracker Dictionary Client Bundle
- Example 6 - Spell Checker Service Bundle
- Example 7 - Spell Checker Client Bundle
- Emulating Singletons
Bundles & Tools
API Reference
- CMake Support
- Framework API
- Main
- Bundle
operator<<()operator<<()operator<<()cppmicroservices::BundleStateStartOptionsStopOptionsTimeStampBundle()Bundle()operator=()operator=()Bundle()~Bundle()operator==()operator!=()operator<()operator bool()operator=()GetState()GetBundleContext()GetBundleId()GetLocation()GetSymbol()GetSymbolicName()GetVersion()GetProperties()GetHeaders()GetProperty()GetPropertyKeys()GetRegisteredServices()GetServicesInUse()GetResource()FindResources()GetLastModified()Start()Start()Stop()Stop()Uninstall()Bundle()dcMakeBundle
- BundleActivator
- BundleContext
cppmicroservices::BundleContextBundleContext()operator==()operator!=()operator<()operator bool()operator=()GetProperty()GetProperties()GetBundle()GetBundle()GetBundles()GetBundles()RegisterService()RegisterService()RegisterService()GetServiceReferences()GetServiceReferences()GetServiceReference()GetServiceReference()GetService()GetService()GetService()GetServiceObjects()AddServiceListener()RemoveServiceListener()AddBundleListener()RemoveBundleListener()AddFrameworkListener()RemoveFrameworkListener()RemoveListener()AddServiceListener()RemoveServiceListener()AddBundleListener()RemoveBundleListener()AddFrameworkListener()RemoveFrameworkListener()GetDataFile()InstallBundles()
- BundleEvent
- BundleEventHook
- BundleFindHook
- BundleResource
operator<<()cppmicroservices::BundleResourceBundleResource()BundleResource()~BundleResource()operator=()operator<()operator==()operator!=()IsValid()operator bool()GetName()GetPath()GetResourcePath()GetBaseName()GetCompleteBaseName()GetSuffix()GetCompleteSuffix()IsDir()IsFile()GetChildren()GetChildResources()GetSize()GetCompressedSize()GetLastModified()GetCrc32()
std::hash< cppmicroservices::BundleResource >
- BundleResourceStream
- Framework
- FrameworkEvent
- PrototypeServiceFactory
- ServiceEvent
- ServiceEventListenerHook
- ServiceException
- ServiceFactory
- ServiceFindHook
- ServiceInterface
- ServiceListenerHook
- ServiceObjects
- ServiceReference
- ServiceRegistration
- ServiceTracker
cppmicroservices::ServiceTrackerTrackedParamTypeTrackingMap~ServiceTracker()ServiceTracker()ServiceTracker()ServiceTracker()ServiceTracker()Open()Close()WaitForService()WaitForService()GetServiceReferences()GetServiceReference()GetService()GetServices()GetService()Remove()Size()GetTrackingCount()GetTracked()IsEmpty()WaitForService()AddingService()ModifiedService()RemovedService()
cppmicroservices::ServiceTrackerCustomizer
- Bundle
- Utilities
- Any
- AnyMap
cppmicroservices::AnyMapcppmicroservices::any_mapmap_typekey_typemapped_typevalue_typesize_typedifference_typereferenceconst_referencepointerconst_pointerordered_any_mapunordered_any_mapunordered_any_cimapiteratorconst_iteratorany_map()any_map()any_map()any_map()any_map()any_map()any_map()any_map()operator=()any_map()operator=()~any_map()begin()begin()cbegin()end()end()cend()empty()size()count()clear()at()at()operator[]()operator[]()insert()emplace()find()erase()operator==()operator!=()ououocitypecppmicroservices::any_map::const_itercppmicroservices::any_map::iter
- BundleVersion
- Constants
cppmicroservices::ConstantsSYSTEM_BUNDLE_LOCATIONSYSTEM_BUNDLE_SYMBOLICNAMEBUNDLE_ACTIVATORBUNDLE_CATEGORYBUNDLE_COPYRIGHTBUNDLE_DESCRIPTIONBUNDLE_MANIFESTVERSIONBUNDLE_NAMEBUNDLE_VENDORBUNDLE_VERSIONBUNDLE_DOCURLBUNDLE_CONTACTADDRESSBUNDLE_SYMBOLICNAMEBUNDLE_LOCALIZATIONBUNDLE_LOCALIZATION_DEFAULT_BASENAMEBUNDLE_ACTIVATIONPOLICYACTIVATION_LAZYFRAMEWORK_VERSIONFRAMEWORK_VENDORFRAMEWORK_STORAGEFRAMEWORK_STORAGE_CLEANFRAMEWORK_STORAGE_CLEAN_ONFIRSTINITFRAMEWORK_THREADING_SUPPORTFRAMEWORK_THREADING_SINGLEFRAMEWORK_THREADING_MULTIFRAMEWORK_LOGFRAMEWORK_UUIDFRAMEWORK_WORKING_DIRFRAMEWORK_BUNDLE_VALIDATION_FUNCOBJECTCLASSSERVICE_IDSERVICE_PIDSERVICE_RANKINGSERVICE_VENDORSERVICE_DESCRIPTIONSERVICE_SCOPESCOPE_SINGLETONSCOPE_BUNDLESCOPE_PROTOTYPELIBRARY_LOAD_OPTIONS
- FrameworkFactory
- GetBundleContext
- LDAPFilter
- Listeners
- SharedLibrary
- ShrinkableMap
cppmicroservices::ShrinkableMapcontainer_typeiteratorconst_iteratorsize_typekey_typemapped_typevalue_typereferenceconst_referenceShrinkableMap()begin()begin()end()end()erase()erase()erase()empty()clear()size()max_size()operator[]()at()at()count()find()find()equal_range()equal_range()lower_bound()lower_bound()upper_bound()upper_bound()
- ShrinkableVector
- Macros
- Main
- Declarative Services API
- Configuration Admin API
- LogService API
- AsyncWorkService API
- Http Service API
- HttpServlet
- HttpServletRequest
cppmicroservices::HttpServletRequest~HttpServletRequest()HttpServletRequest()operator=()GetServletContext()GetAttribute()GetAttributeNames()GetContentLength()GetContentType()GetLocalName()GetRemoteHost()GetLocalPort()GetRemotePort()GetScheme()GetServerName()GetServerPort()GetProtocol()GetContextPath()GetPathInfo()GetRequestUri()GetRequestUrl()GetServletPath()GetQueryString()GetHeader()GetDateHeader()GetHeaderNames()GetHeaders()GetMethod()GetAcceptHeader()RemoveAttribute()SetAttribute()
- HttpServletResponse
cppmicroservices::HttpServletResponse~HttpServletResponse()HttpServletResponse()operator=()FlushBuffer()IsCommitted()GetBufferSize()GetCharacterEncoding()GetContentType()GetOutputStream()Reset()ResetBuffer()SetBufferSize()SetCharacterEncoding()SetContentLength()SetContentType()AddHeader()SetHeader()SetDateHeader()AddIntHeader()SetIntHeader()ContainsHeader()GetHeader()GetStatus()SetStatus()SendError()SendRedirect()SC_CONTINUESC_SWITCHING_PROTOCOLSSC_OKSC_CREATEDSC_ACCEPTEDSC_NON_AUTHORITATIVE_INFORMATIONSC_NO_CONTENTSC_RESET_CONTENTSC_PARTIAL_CONTENTSC_MULTIPLE_CHOICESSC_MOVED_PERMANENTLYSC_FOUNDSC_MOVED_TEMPORARILYSC_SEE_OTHERSC_NOT_MODIFIEDSC_USE_PROXYSC_TEMPORARY_REDIRECTSC_BAD_REQUESTSC_UNAUTHORIZEDSC_PAYMENT_REQUIREDSC_FORBIDDENSC_NOT_FOUNDSC_METHOD_NOT_ALLOWEDSC_NOT_ACCEPTABLESC_PROXY_AUTHENTICATION_REQUIREDSC_REQUEST_TIMEOUTSC_CONFLICTSC_GONESC_LENGTH_REQUIREDSC_PRECONDITION_FAILEDSC_REQUEST_ENTITY_TOO_LARGESC_REQUEST_URI_TOO_LONGSC_UNSUPPORTED_MEDIA_TYPESC_REQUESTED_RANGE_NOT_SATISFIABLESC_EXPECTATION_FAILEDSC_INTERNAL_SERVER_ERRORSC_NOT_IMPLEMENTEDSC_BAD_GATEWAYSC_SERVICE_UNAVAILABLESC_GATEWAY_TIMEOUTSC_HTTP_VERSION_NOT_SUPPORTEDHttpServletResponse()GetOutputStreamBuffer()SetOutputStreamBuffer()d
- ServletConfig
- ServletContainer
- ServletContext
- Web Console API
- Shell Service API