├── .gitignore ├── android └── h5live_as │ ├── .classpath │ ├── .project │ ├── AndroidManifest.xml │ ├── assets │ └── web │ │ ├── demo.css │ │ ├── favicon.ico │ │ └── index.html │ ├── build.gradle │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── h5live_as.iml │ ├── ic_launcher-web.png │ ├── local.properties │ ├── proguard-project.txt │ ├── project.properties │ ├── res │ ├── drawable-hdpi │ │ └── ic_launcher.png │ ├── drawable-mdpi │ │ └── ic_launcher.png │ ├── drawable-xhdpi │ │ └── ic_launcher.png │ ├── drawable-xxhdpi │ │ └── ic_launcher.png │ ├── layout │ │ └── activity_main.xml │ ├── menu │ │ └── main.xml │ ├── values-v11 │ │ └── styles.xml │ ├── values-v14 │ │ └── styles.xml │ ├── values-w820dp │ │ └── dimens.xml │ └── values │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── src │ ├── cn │ └── face │ │ └── sdk │ │ ├── FaceCommon.java │ │ └── h5live.java │ └── com │ └── cloudwalk │ └── h5live │ ├── AvcEncoder.java │ └── MainActivity.java ├── debug ├── PocoFoundationd.dll ├── PocoNetd.dll ├── avcodec-57.dll ├── avdevice-57.dll ├── avfilter-6.dll ├── avformat-57.dll ├── avutil-55.dll ├── opencv_world310.dll ├── swresample-2.dll ├── swscale-4.dll └── test.flv ├── deployment.pri ├── doc ├── FLV细节解析.pdf ├── H.264-AVC-ISO_IEC_14496-15.pdf ├── flv_v10_1.pdf ├── h5live.eddx ├── h5live内部架构.png └── h5整体架构.png ├── ext ├── ffmpeg │ ├── include │ │ ├── _mingw.h │ │ ├── inttypes.h │ │ ├── libavcodec │ │ │ ├── avcodec.h │ │ │ ├── avdct.h │ │ │ ├── avfft.h │ │ │ ├── d3d11va.h │ │ │ ├── dirac.h │ │ │ ├── dv_profile.h │ │ │ ├── dxva2.h │ │ │ ├── jni.h │ │ │ ├── qsv.h │ │ │ ├── vaapi.h │ │ │ ├── vda.h │ │ │ ├── vdpau.h │ │ │ ├── version.h │ │ │ ├── videotoolbox.h │ │ │ ├── vorbis_parser.h │ │ │ └── xvmc.h │ │ ├── libavdevice │ │ │ ├── avdevice.h │ │ │ └── version.h │ │ ├── libavfilter │ │ │ ├── avfilter.h │ │ │ ├── avfiltergraph.h │ │ │ ├── buffersink.h │ │ │ ├── buffersrc.h │ │ │ └── version.h │ │ ├── libavformat │ │ │ ├── avformat.h │ │ │ ├── avio.h │ │ │ └── version.h │ │ ├── libavutil │ │ │ ├── adler32.h │ │ │ ├── aes.h │ │ │ ├── aes_ctr.h │ │ │ ├── attributes.h │ │ │ ├── audio_fifo.h │ │ │ ├── avassert.h │ │ │ ├── avconfig.h │ │ │ ├── avstring.h │ │ │ ├── avutil.h │ │ │ ├── base64.h │ │ │ ├── blowfish.h │ │ │ ├── bprint.h │ │ │ ├── bswap.h │ │ │ ├── buffer.h │ │ │ ├── camellia.h │ │ │ ├── cast5.h │ │ │ ├── channel_layout.h │ │ │ ├── common.h │ │ │ ├── cpu.h │ │ │ ├── crc.h │ │ │ ├── des.h │ │ │ ├── dict.h │ │ │ ├── display.h │ │ │ ├── downmix_info.h │ │ │ ├── error.h │ │ │ ├── eval.h │ │ │ ├── ffversion.h │ │ │ ├── fifo.h │ │ │ ├── file.h │ │ │ ├── frame.h │ │ │ ├── hash.h │ │ │ ├── hmac.h │ │ │ ├── hwcontext.h │ │ │ ├── hwcontext_cuda.h │ │ │ ├── hwcontext_dxva2.h │ │ │ ├── hwcontext_vaapi.h │ │ │ ├── hwcontext_vdpau.h │ │ │ ├── imgutils.h │ │ │ ├── intfloat.h │ │ │ ├── intreadwrite.h │ │ │ ├── lfg.h │ │ │ ├── log.h │ │ │ ├── lzo.h │ │ │ ├── macros.h │ │ │ ├── mastering_display_metadata.h │ │ │ ├── mathematics.h │ │ │ ├── md5.h │ │ │ ├── mem.h │ │ │ ├── motion_vector.h │ │ │ ├── murmur3.h │ │ │ ├── opt.h │ │ │ ├── parseutils.h │ │ │ ├── pixdesc.h │ │ │ ├── pixelutils.h │ │ │ ├── pixfmt.h │ │ │ ├── random_seed.h │ │ │ ├── rational.h │ │ │ ├── rc4.h │ │ │ ├── replaygain.h │ │ │ ├── ripemd.h │ │ │ ├── samplefmt.h │ │ │ ├── sha.h │ │ │ ├── sha512.h │ │ │ ├── stereo3d.h │ │ │ ├── tea.h │ │ │ ├── threadmessage.h │ │ │ ├── time.h │ │ │ ├── timecode.h │ │ │ ├── timestamp.h │ │ │ ├── tree.h │ │ │ ├── twofish.h │ │ │ ├── version.h │ │ │ └── xtea.h │ │ ├── libpostproc │ │ │ ├── postprocess.h │ │ │ └── version.h │ │ ├── libswresample │ │ │ ├── swresample.h │ │ │ └── version.h │ │ └── libswscale │ │ │ ├── swscale.h │ │ │ └── version.h │ └── lib │ │ ├── avcodec.lib │ │ ├── avdevice.lib │ │ ├── avfilter.lib │ │ ├── avformat.lib │ │ ├── avutil.lib │ │ ├── postproc.lib │ │ ├── swresample.lib │ │ └── swscale.lib ├── include │ └── Poco │ │ ├── ASCIIEncoding.h │ │ ├── AbstractCache.h │ │ ├── AbstractDelegate.h │ │ ├── AbstractEvent.h │ │ ├── AbstractObserver.h │ │ ├── AbstractPriorityDelegate.h │ │ ├── AbstractStrategy.h │ │ ├── AccessExpirationDecorator.h │ │ ├── AccessExpireCache.h │ │ ├── AccessExpireLRUCache.h │ │ ├── AccessExpireStrategy.h │ │ ├── ActiveDispatcher.h │ │ ├── ActiveMethod.h │ │ ├── ActiveResult.h │ │ ├── ActiveRunnable.h │ │ ├── ActiveStarter.h │ │ ├── Activity.h │ │ ├── Alignment.h │ │ ├── Any.h │ │ ├── ArchiveStrategy.h │ │ ├── Array.h │ │ ├── Ascii.h │ │ ├── AsyncChannel.h │ │ ├── AtomicCounter.h │ │ ├── AutoPtr.h │ │ ├── AutoReleasePool.h │ │ ├── Base32Decoder.h │ │ ├── Base32Encoder.h │ │ ├── Base64Decoder.h │ │ ├── Base64Encoder.h │ │ ├── BasicEvent.h │ │ ├── BinaryReader.h │ │ ├── BinaryWriter.h │ │ ├── Buffer.h │ │ ├── BufferAllocator.h │ │ ├── BufferedBidirectionalStreamBuf.h │ │ ├── BufferedStreamBuf.h │ │ ├── Bugcheck.h │ │ ├── ByteOrder.h │ │ ├── Channel.h │ │ ├── Checksum.h │ │ ├── ClassLibrary.h │ │ ├── ClassLoader.h │ │ ├── Clock.h │ │ ├── Condition.h │ │ ├── Config.h │ │ ├── Configurable.h │ │ ├── ConsoleChannel.h │ │ ├── CountingStream.h │ │ ├── DateTime.h │ │ ├── DateTimeFormat.h │ │ ├── DateTimeFormatter.h │ │ ├── DateTimeParser.h │ │ ├── Debugger.h │ │ ├── DefaultStrategy.h │ │ ├── DeflatingStream.h │ │ ├── Delegate.h │ │ ├── DigestEngine.h │ │ ├── DigestStream.h │ │ ├── DirectoryIterator.h │ │ ├── DirectoryIteratorStrategy.h │ │ ├── DirectoryIterator_UNIX.h │ │ ├── DirectoryIterator_WIN32.h │ │ ├── DirectoryIterator_WIN32U.h │ │ ├── DirectoryWatcher.h │ │ ├── Dynamic │ │ ├── Pair.h │ │ ├── Struct.h │ │ ├── Var.h │ │ ├── VarHolder.h │ │ └── VarIterator.h │ │ ├── DynamicAny.h │ │ ├── DynamicAnyHolder.h │ │ ├── DynamicFactory.h │ │ ├── DynamicStruct.h │ │ ├── Environment.h │ │ ├── Environment_UNIX.h │ │ ├── Environment_VX.h │ │ ├── Environment_WIN32.h │ │ ├── Environment_WIN32U.h │ │ ├── Environment_WINCE.h │ │ ├── Error.h │ │ ├── ErrorHandler.h │ │ ├── Event.h │ │ ├── EventArgs.h │ │ ├── EventChannel.h │ │ ├── EventLogChannel.h │ │ ├── Event_POSIX.h │ │ ├── Event_VX.h │ │ ├── Event_WIN32.h │ │ ├── Exception.h │ │ ├── ExpirationDecorator.h │ │ ├── Expire.h │ │ ├── ExpireCache.h │ │ ├── ExpireLRUCache.h │ │ ├── ExpireStrategy.h │ │ ├── FIFOBuffer.h │ │ ├── FIFOBufferStream.h │ │ ├── FIFOEvent.h │ │ ├── FIFOStrategy.h │ │ ├── FPEnvironment.h │ │ ├── FPEnvironment_C99.h │ │ ├── FPEnvironment_DEC.h │ │ ├── FPEnvironment_DUMMY.h │ │ ├── FPEnvironment_QNX.h │ │ ├── FPEnvironment_SUN.h │ │ ├── FPEnvironment_WIN32.h │ │ ├── File.h │ │ ├── FileChannel.h │ │ ├── FileStream.h │ │ ├── FileStreamFactory.h │ │ ├── FileStream_POSIX.h │ │ ├── FileStream_WIN32.h │ │ ├── File_UNIX.h │ │ ├── File_VX.h │ │ ├── File_WIN32.h │ │ ├── File_WIN32U.h │ │ ├── File_WINCE.h │ │ ├── Format.h │ │ ├── Formatter.h │ │ ├── FormattingChannel.h │ │ ├── Foundation.h │ │ ├── FunctionDelegate.h │ │ ├── FunctionPriorityDelegate.h │ │ ├── Glob.h │ │ ├── HMACEngine.h │ │ ├── Hash.h │ │ ├── HashFunction.h │ │ ├── HashMap.h │ │ ├── HashSet.h │ │ ├── HashStatistic.h │ │ ├── HashTable.h │ │ ├── HexBinaryDecoder.h │ │ ├── HexBinaryEncoder.h │ │ ├── InflatingStream.h │ │ ├── Instantiator.h │ │ ├── JSON │ │ ├── Array.h │ │ ├── Handler.h │ │ ├── JSON.h │ │ ├── JSONException.h │ │ ├── Object.h │ │ ├── ParseHandler.h │ │ ├── Parser.h │ │ ├── ParserImpl.h │ │ ├── PrintHandler.h │ │ ├── Query.h │ │ ├── Stringifier.h │ │ ├── Template.h │ │ └── TemplateCache.h │ │ ├── JSONString.h │ │ ├── KeyValueArgs.h │ │ ├── LRUCache.h │ │ ├── LRUStrategy.h │ │ ├── Latin1Encoding.h │ │ ├── Latin2Encoding.h │ │ ├── Latin9Encoding.h │ │ ├── LineEndingConverter.h │ │ ├── LinearHashTable.h │ │ ├── ListMap.h │ │ ├── LocalDateTime.h │ │ ├── LogFile.h │ │ ├── LogFile_STD.h │ │ ├── LogFile_WIN32.h │ │ ├── LogFile_WIN32U.h │ │ ├── LogStream.h │ │ ├── Logger.h │ │ ├── LoggingFactory.h │ │ ├── LoggingRegistry.h │ │ ├── MD4Engine.h │ │ ├── MD5Engine.h │ │ ├── Manifest.h │ │ ├── MemoryPool.h │ │ ├── MemoryStream.h │ │ ├── Message.h │ │ ├── MetaObject.h │ │ ├── MetaProgramming.h │ │ ├── Mutex.h │ │ ├── Mutex_POSIX.h │ │ ├── Mutex_VX.h │ │ ├── Mutex_WIN32.h │ │ ├── Mutex_WINCE.h │ │ ├── NObserver.h │ │ ├── NamedEvent.h │ │ ├── NamedEvent_Android.h │ │ ├── NamedEvent_UNIX.h │ │ ├── NamedEvent_WIN32.h │ │ ├── NamedEvent_WIN32U.h │ │ ├── NamedMutex.h │ │ ├── NamedMutex_Android.h │ │ ├── NamedMutex_UNIX.h │ │ ├── NamedMutex_WIN32.h │ │ ├── NamedMutex_WIN32U.h │ │ ├── NamedTuple.h │ │ ├── NestedDiagnosticContext.h │ │ ├── Net │ │ ├── AbstractHTTPRequestHandler.h │ │ ├── DNS.h │ │ ├── DatagramSocket.h │ │ ├── DatagramSocketImpl.h │ │ ├── DialogSocket.h │ │ ├── FTPClientSession.h │ │ ├── FTPStreamFactory.h │ │ ├── FilePartSource.h │ │ ├── HTMLForm.h │ │ ├── HTTPAuthenticationParams.h │ │ ├── HTTPBasicCredentials.h │ │ ├── HTTPBasicStreamBuf.h │ │ ├── HTTPBufferAllocator.h │ │ ├── HTTPChunkedStream.h │ │ ├── HTTPClientSession.h │ │ ├── HTTPCookie.h │ │ ├── HTTPCredentials.h │ │ ├── HTTPDigestCredentials.h │ │ ├── HTTPFixedLengthStream.h │ │ ├── HTTPHeaderStream.h │ │ ├── HTTPIOStream.h │ │ ├── HTTPMessage.h │ │ ├── HTTPRequest.h │ │ ├── HTTPRequestHandler.h │ │ ├── HTTPRequestHandlerFactory.h │ │ ├── HTTPResponse.h │ │ ├── HTTPServer.h │ │ ├── HTTPServerConnection.h │ │ ├── HTTPServerConnectionFactory.h │ │ ├── HTTPServerParams.h │ │ ├── HTTPServerRequest.h │ │ ├── HTTPServerRequestImpl.h │ │ ├── HTTPServerResponse.h │ │ ├── HTTPServerResponseImpl.h │ │ ├── HTTPServerSession.h │ │ ├── HTTPSession.h │ │ ├── HTTPSessionFactory.h │ │ ├── HTTPSessionInstantiator.h │ │ ├── HTTPStream.h │ │ ├── HTTPStreamFactory.h │ │ ├── HostEntry.h │ │ ├── ICMPClient.h │ │ ├── ICMPEventArgs.h │ │ ├── ICMPPacket.h │ │ ├── ICMPPacketImpl.h │ │ ├── ICMPSocket.h │ │ ├── ICMPSocketImpl.h │ │ ├── ICMPv4PacketImpl.h │ │ ├── IPAddress.h │ │ ├── IPAddressImpl.h │ │ ├── MailMessage.h │ │ ├── MailRecipient.h │ │ ├── MailStream.h │ │ ├── MediaType.h │ │ ├── MessageHeader.h │ │ ├── MulticastSocket.h │ │ ├── MultipartReader.h │ │ ├── MultipartWriter.h │ │ ├── NTPClient.h │ │ ├── NTPEventArgs.h │ │ ├── NTPPacket.h │ │ ├── NameValueCollection.h │ │ ├── Net.h │ │ ├── NetException.h │ │ ├── NetworkInterface.h │ │ ├── NullPartHandler.h │ │ ├── OAuth10Credentials.h │ │ ├── OAuth20Credentials.h │ │ ├── POP3ClientSession.h │ │ ├── ParallelSocketAcceptor.h │ │ ├── ParallelSocketReactor.h │ │ ├── PartHandler.h │ │ ├── PartSource.h │ │ ├── PartStore.h │ │ ├── PollSet.h │ │ ├── QuotedPrintableDecoder.h │ │ ├── QuotedPrintableEncoder.h │ │ ├── RawSocket.h │ │ ├── RawSocketImpl.h │ │ ├── RemoteSyslogChannel.h │ │ ├── RemoteSyslogListener.h │ │ ├── SMTPChannel.h │ │ ├── SMTPClientSession.h │ │ ├── ServerSocket.h │ │ ├── ServerSocketImpl.h │ │ ├── Socket.h │ │ ├── SocketAcceptor.h │ │ ├── SocketAddress.h │ │ ├── SocketAddressImpl.h │ │ ├── SocketConnector.h │ │ ├── SocketDefs.h │ │ ├── SocketImpl.h │ │ ├── SocketNotification.h │ │ ├── SocketNotifier.h │ │ ├── SocketReactor.h │ │ ├── SocketStream.h │ │ ├── StreamSocket.h │ │ ├── StreamSocketImpl.h │ │ ├── StringPartSource.h │ │ ├── TCPServer.h │ │ ├── TCPServerConnection.h │ │ ├── TCPServerConnectionFactory.h │ │ ├── TCPServerDispatcher.h │ │ ├── TCPServerParams.h │ │ ├── WebSocket.h │ │ └── WebSocketImpl.h │ │ ├── Notification.h │ │ ├── NotificationCenter.h │ │ ├── NotificationQueue.h │ │ ├── NotificationStrategy.h │ │ ├── NullChannel.h │ │ ├── NullStream.h │ │ ├── Nullable.h │ │ ├── NumberFormatter.h │ │ ├── NumberParser.h │ │ ├── NumericString.h │ │ ├── ObjectPool.h │ │ ├── Observer.h │ │ ├── Optional.h │ │ ├── PBKDF2Engine.h │ │ ├── Path.h │ │ ├── Path_UNIX.h │ │ ├── Path_WIN32.h │ │ ├── Path_WIN32U.h │ │ ├── Path_WINCE.h │ │ ├── PatternFormatter.h │ │ ├── Pipe.h │ │ ├── PipeImpl.h │ │ ├── PipeImpl_DUMMY.h │ │ ├── PipeImpl_POSIX.h │ │ ├── PipeImpl_WIN32.h │ │ ├── PipeStream.h │ │ ├── Platform.h │ │ ├── Platform_POSIX.h │ │ ├── Platform_VX.h │ │ ├── Platform_WIN32.h │ │ ├── Poco.h │ │ ├── PriorityDelegate.h │ │ ├── PriorityEvent.h │ │ ├── PriorityExpire.h │ │ ├── PriorityNotificationQueue.h │ │ ├── PriorityStrategy.h │ │ ├── Process.h │ │ ├── Process_UNIX.h │ │ ├── Process_VX.h │ │ ├── Process_WIN32.h │ │ ├── Process_WIN32U.h │ │ ├── Process_WINCE.h │ │ ├── PurgeStrategy.h │ │ ├── RWLock.h │ │ ├── RWLock_Android.h │ │ ├── RWLock_POSIX.h │ │ ├── RWLock_VX.h │ │ ├── RWLock_WIN32.h │ │ ├── RWLock_WINCE.h │ │ ├── Random.h │ │ ├── RandomStream.h │ │ ├── RecursiveDirectoryIterator.h │ │ ├── RecursiveDirectoryIteratorImpl.h │ │ ├── RefCountedObject.h │ │ ├── RegularExpression.h │ │ ├── RotateStrategy.h │ │ ├── Runnable.h │ │ ├── RunnableAdapter.h │ │ ├── SHA1Engine.h │ │ ├── ScopedLock.h │ │ ├── ScopedUnlock.h │ │ ├── Semaphore.h │ │ ├── Semaphore_POSIX.h │ │ ├── Semaphore_VX.h │ │ ├── Semaphore_WIN32.h │ │ ├── SharedLibrary.h │ │ ├── SharedLibrary_HPUX.h │ │ ├── SharedLibrary_UNIX.h │ │ ├── SharedLibrary_VX.h │ │ ├── SharedLibrary_WIN32.h │ │ ├── SharedLibrary_WIN32U.h │ │ ├── SharedMemory.h │ │ ├── SharedMemory_DUMMY.h │ │ ├── SharedMemory_POSIX.h │ │ ├── SharedMemory_WIN32.h │ │ ├── SharedPtr.h │ │ ├── SignalHandler.h │ │ ├── SimpleFileChannel.h │ │ ├── SimpleHashTable.h │ │ ├── SingletonHolder.h │ │ ├── SortedDirectoryIterator.h │ │ ├── SplitterChannel.h │ │ ├── Stopwatch.h │ │ ├── StrategyCollection.h │ │ ├── StreamChannel.h │ │ ├── StreamConverter.h │ │ ├── StreamCopier.h │ │ ├── StreamTokenizer.h │ │ ├── StreamUtil.h │ │ ├── String.h │ │ ├── StringTokenizer.h │ │ ├── SynchronizedObject.h │ │ ├── SyslogChannel.h │ │ ├── Task.h │ │ ├── TaskManager.h │ │ ├── TaskNotification.h │ │ ├── TeeStream.h │ │ ├── TemporaryFile.h │ │ ├── TextBufferIterator.h │ │ ├── TextConverter.h │ │ ├── TextEncoding.h │ │ ├── TextIterator.h │ │ ├── Thread.h │ │ ├── ThreadLocal.h │ │ ├── ThreadPool.h │ │ ├── ThreadTarget.h │ │ ├── Thread_POSIX.h │ │ ├── Thread_VX.h │ │ ├── Thread_WIN32.h │ │ ├── Thread_WINCE.h │ │ ├── TimedNotificationQueue.h │ │ ├── Timer.h │ │ ├── Timespan.h │ │ ├── Timestamp.h │ │ ├── Timezone.h │ │ ├── Token.h │ │ ├── Tuple.h │ │ ├── TypeList.h │ │ ├── Types.h │ │ ├── URI.h │ │ ├── URIStreamFactory.h │ │ ├── URIStreamOpener.h │ │ ├── UTF16Encoding.h │ │ ├── UTF32Encoding.h │ │ ├── UTF8Encoding.h │ │ ├── UTF8String.h │ │ ├── UTFString.h │ │ ├── UUID.h │ │ ├── UUIDGenerator.h │ │ ├── UnWindows.h │ │ ├── UnbufferedStreamBuf.h │ │ ├── Unicode.h │ │ ├── UnicodeConverter.h │ │ ├── UniqueAccessExpireCache.h │ │ ├── UniqueAccessExpireLRUCache.h │ │ ├── UniqueAccessExpireStrategy.h │ │ ├── UniqueExpireCache.h │ │ ├── UniqueExpireLRUCache.h │ │ ├── UniqueExpireStrategy.h │ │ ├── Util │ │ ├── AbstractConfiguration.h │ │ ├── Application.h │ │ ├── ConfigurationMapper.h │ │ ├── ConfigurationView.h │ │ ├── FilesystemConfiguration.h │ │ ├── HelpFormatter.h │ │ ├── IniFileConfiguration.h │ │ ├── IntValidator.h │ │ ├── JSONConfiguration.h │ │ ├── LayeredConfiguration.h │ │ ├── LoggingConfigurator.h │ │ ├── LoggingSubsystem.h │ │ ├── MapConfiguration.h │ │ ├── Option.h │ │ ├── OptionCallback.h │ │ ├── OptionException.h │ │ ├── OptionProcessor.h │ │ ├── OptionSet.h │ │ ├── PropertyFileConfiguration.h │ │ ├── RegExpValidator.h │ │ ├── ServerApplication.h │ │ ├── Subsystem.h │ │ ├── SystemConfiguration.h │ │ ├── Timer.h │ │ ├── TimerTask.h │ │ ├── TimerTaskAdapter.h │ │ ├── Units.h │ │ ├── Util.h │ │ ├── Validator.h │ │ ├── WinRegistryConfiguration.h │ │ ├── WinRegistryKey.h │ │ ├── WinService.h │ │ └── XMLConfiguration.h │ │ ├── ValidArgs.h │ │ ├── Version.h │ │ ├── Void.h │ │ ├── Windows1250Encoding.h │ │ ├── Windows1251Encoding.h │ │ ├── Windows1252Encoding.h │ │ ├── WindowsConsoleChannel.h │ │ ├── zconf.h │ │ └── zlib.h ├── lib │ ├── PocoFoundation.lib │ ├── PocoFoundationd.lib │ ├── PocoJSON.lib │ ├── PocoJSONd.lib │ ├── PocoNet.lib │ ├── PocoNetd.lib │ ├── PocoUtil.lib │ ├── PocoUtild.lib │ ├── PocoXML.lib │ └── PocoXMLd.lib ├── libflv │ ├── include │ │ ├── BaseWriter.h │ │ ├── FlvCommon.h │ │ └── FlvEncoder.h │ └── src │ │ ├── BaseWriter.cpp │ │ ├── FlvEncoder.cpp │ │ ├── flv.c │ │ ├── flv_bytestream.c │ │ └── flv_bytestream.h └── opencv310 │ ├── lib32 │ └── opencv_world310.lib │ ├── lib64 │ └── opencv_world310.lib │ └── opencv310 │ └── include │ ├── opencv │ ├── cv.h │ ├── cv.hpp │ ├── cvaux.h │ ├── cvaux.hpp │ ├── cvwimage.h │ ├── cxcore.h │ ├── cxcore.hpp │ ├── cxeigen.hpp │ ├── cxmisc.h │ ├── highgui.h │ └── ml.h │ └── opencv2 │ ├── calib3d.hpp │ ├── calib3d │ ├── calib3d.hpp │ └── calib3d_c.h │ ├── core.hpp │ ├── core │ ├── affine.hpp │ ├── base.hpp │ ├── bufferpool.hpp │ ├── core.hpp │ ├── core_c.h │ ├── cuda.hpp │ ├── cuda.inl.hpp │ ├── cuda_stream_accessor.hpp │ ├── cuda_types.hpp │ ├── cvdef.h │ ├── cvstd.hpp │ ├── cvstd.inl.hpp │ ├── directx.hpp │ ├── eigen.hpp │ ├── fast_math.hpp │ ├── hal │ │ ├── hal.hpp │ │ ├── interface.h │ │ ├── intrin.hpp │ │ ├── intrin_cpp.hpp │ │ ├── intrin_neon.hpp │ │ └── intrin_sse.hpp │ ├── ippasync.hpp │ ├── mat.hpp │ ├── mat.inl.hpp │ ├── matx.hpp │ ├── neon_utils.hpp │ ├── ocl.hpp │ ├── ocl_genbase.hpp │ ├── opengl.hpp │ ├── operations.hpp │ ├── optim.hpp │ ├── persistence.hpp │ ├── private.cuda.hpp │ ├── private.hpp │ ├── ptr.inl.hpp │ ├── saturate.hpp │ ├── sse_utils.hpp │ ├── traits.hpp │ ├── types.hpp │ ├── types_c.h │ ├── utility.hpp │ ├── va_intel.hpp │ ├── version.hpp │ └── wimage.hpp │ ├── cvconfig.h │ ├── features2d.hpp │ ├── features2d │ └── features2d.hpp │ ├── flann.hpp │ ├── flann │ ├── all_indices.h │ ├── allocator.h │ ├── any.h │ ├── autotuned_index.h │ ├── composite_index.h │ ├── config.h │ ├── defines.h │ ├── dist.h │ ├── dummy.h │ ├── dynamic_bitset.h │ ├── flann.hpp │ ├── flann_base.hpp │ ├── general.h │ ├── ground_truth.h │ ├── hdf5.h │ ├── heap.h │ ├── hierarchical_clustering_index.h │ ├── index_testing.h │ ├── kdtree_index.h │ ├── kdtree_single_index.h │ ├── kmeans_index.h │ ├── linear_index.h │ ├── logger.h │ ├── lsh_index.h │ ├── lsh_table.h │ ├── matrix.h │ ├── miniflann.hpp │ ├── nn_index.h │ ├── object_factory.h │ ├── params.h │ ├── random.h │ ├── result_set.h │ ├── sampling.h │ ├── saving.h │ ├── simplex_downhill.h │ └── timer.h │ ├── highgui.hpp │ ├── highgui │ ├── highgui.hpp │ └── highgui_c.h │ ├── imgcodecs.hpp │ ├── imgcodecs │ ├── imgcodecs.hpp │ ├── imgcodecs_c.h │ └── ios.h │ ├── imgproc.hpp │ ├── imgproc │ ├── detail │ │ └── distortion_model.hpp │ ├── imgproc.hpp │ ├── imgproc_c.h │ └── types_c.h │ ├── ml.hpp │ ├── ml │ └── ml.hpp │ ├── objdetect.hpp │ ├── objdetect │ ├── detection_based_tracker.hpp │ ├── objdetect.hpp │ └── objdetect_c.h │ ├── opencv.hpp │ ├── opencv_modules.hpp │ ├── photo.hpp │ ├── photo │ ├── cuda.hpp │ ├── photo.hpp │ └── photo_c.h │ ├── shape.hpp │ ├── shape │ ├── emdL1.hpp │ ├── hist_cost.hpp │ ├── shape.hpp │ ├── shape_distance.hpp │ └── shape_transformer.hpp │ ├── stitching.hpp │ ├── stitching │ ├── detail │ │ ├── autocalib.hpp │ │ ├── blenders.hpp │ │ ├── camera.hpp │ │ ├── exposure_compensate.hpp │ │ ├── matchers.hpp │ │ ├── motion_estimators.hpp │ │ ├── seam_finders.hpp │ │ ├── timelapsers.hpp │ │ ├── util.hpp │ │ ├── util_inl.hpp │ │ ├── warpers.hpp │ │ └── warpers_inl.hpp │ └── warpers.hpp │ ├── superres.hpp │ ├── superres │ └── optical_flow.hpp │ ├── video.hpp │ ├── video │ ├── background_segm.hpp │ ├── tracking.hpp │ ├── tracking_c.h │ └── video.hpp │ ├── videoio.hpp │ ├── videoio │ ├── cap_ios.h │ ├── videoio.hpp │ └── videoio_c.h │ ├── videostab.hpp │ ├── videostab │ ├── deblurring.hpp │ ├── fast_marching.hpp │ ├── fast_marching_inl.hpp │ ├── frame_source.hpp │ ├── global_motion.hpp │ ├── inpainting.hpp │ ├── log.hpp │ ├── motion_core.hpp │ ├── motion_stabilizing.hpp │ ├── optical_flow.hpp │ ├── outlier_rejection.hpp │ ├── ring_buffer.hpp │ ├── stabilizer.hpp │ └── wobble_suppression.hpp │ └── world.hpp ├── h5live.pro ├── jni ├── Android.mk ├── Application.mk ├── NDKH5Live.cpp ├── NDKH5Live.h ├── android_build.bat ├── build.bat ├── jnihelper │ ├── ByteArray.cpp │ ├── ByteArray.h │ ├── ClassRegistry.cpp │ ├── ClassRegistry.h │ ├── CloudWalkSDK.cpp │ ├── CloudWalkSDK.h │ ├── FloatArray.cpp │ ├── FloatArray.h │ ├── IntArray.cpp │ ├── IntArray.h │ ├── JavaClass.cpp │ ├── JavaClass.h │ ├── JavaClassUtils.cpp │ ├── JavaClassUtils.h │ ├── JavaExceptionUtils.cpp │ ├── JavaExceptionUtils.h │ ├── JavaString.cpp │ ├── JavaString.h │ ├── JavaStringArray.cpp │ ├── JavaStringArray.h │ ├── JavaThreadUtils.cpp │ ├── JavaThreadUtils.h │ ├── JniGlobalRef.h │ ├── JniHelpers.cpp │ ├── JniHelpers.h │ ├── JniHelpersCommon.h │ ├── JniLocalRef.h │ ├── JniTypes.h │ ├── JniWeakGlobalRef.h │ ├── NativeObject.cpp │ ├── NativeObject.h │ ├── ScopedPtr.h │ ├── ShortArray.cpp │ ├── ShortArray.h │ ├── Watch.cpp │ └── Watch.h └── poco1.8.1 │ └── include │ └── Poco │ ├── ASCIIEncoding.h │ ├── AbstractCache.h │ ├── AbstractDelegate.h │ ├── AbstractEvent.h │ ├── AbstractObserver.h │ ├── AbstractPriorityDelegate.h │ ├── AbstractStrategy.h │ ├── AccessExpirationDecorator.h │ ├── AccessExpireCache.h │ ├── AccessExpireLRUCache.h │ ├── AccessExpireStrategy.h │ ├── ActiveDispatcher.h │ ├── ActiveMethod.h │ ├── ActiveResult.h │ ├── ActiveRunnable.h │ ├── ActiveStarter.h │ ├── Activity.h │ ├── Alignment.h │ ├── Any.h │ ├── ArchiveStrategy.h │ ├── Array.h │ ├── Ascii.h │ ├── AsyncChannel.h │ ├── AtomicCounter.h │ ├── AutoPtr.h │ ├── AutoReleasePool.h │ ├── Base32Decoder.h │ ├── Base32Encoder.h │ ├── Base64Decoder.h │ ├── Base64Encoder.h │ ├── BasicEvent.h │ ├── BinaryReader.h │ ├── BinaryWriter.h │ ├── Buffer.h │ ├── BufferAllocator.h │ ├── BufferedBidirectionalStreamBuf.h │ ├── BufferedStreamBuf.h │ ├── Bugcheck.h │ ├── ByteOrder.h │ ├── Channel.h │ ├── Checksum.h │ ├── ClassLibrary.h │ ├── ClassLoader.h │ ├── Clock.h │ ├── Condition.h │ ├── Config.h │ ├── Configurable.h │ ├── ConsoleChannel.h │ ├── CountingStream.h │ ├── DateTime.h │ ├── DateTimeFormat.h │ ├── DateTimeFormatter.h │ ├── DateTimeParser.h │ ├── Debugger.h │ ├── DefaultStrategy.h │ ├── DeflatingStream.h │ ├── Delegate.h │ ├── DigestEngine.h │ ├── DigestStream.h │ ├── DirectoryIterator.h │ ├── DirectoryIteratorStrategy.h │ ├── DirectoryIterator_UNIX.h │ ├── DirectoryIterator_WIN32.h │ ├── DirectoryIterator_WIN32U.h │ ├── DirectoryWatcher.h │ ├── Dynamic │ ├── Pair.h │ ├── Struct.h │ ├── Var.h │ ├── VarHolder.h │ └── VarIterator.h │ ├── DynamicAny.h │ ├── DynamicAnyHolder.h │ ├── DynamicFactory.h │ ├── DynamicStruct.h │ ├── Environment.h │ ├── Environment_UNIX.h │ ├── Environment_VX.h │ ├── Environment_WIN32.h │ ├── Environment_WIN32U.h │ ├── Environment_WINCE.h │ ├── Error.h │ ├── ErrorHandler.h │ ├── Event.h │ ├── EventArgs.h │ ├── EventChannel.h │ ├── EventLogChannel.h │ ├── Event_POSIX.h │ ├── Event_VX.h │ ├── Event_WIN32.h │ ├── Exception.h │ ├── ExpirationDecorator.h │ ├── Expire.h │ ├── ExpireCache.h │ ├── ExpireLRUCache.h │ ├── ExpireStrategy.h │ ├── FIFOBuffer.h │ ├── FIFOBufferStream.h │ ├── FIFOEvent.h │ ├── FIFOStrategy.h │ ├── FPEnvironment.h │ ├── FPEnvironment_C99.h │ ├── FPEnvironment_DEC.h │ ├── FPEnvironment_DUMMY.h │ ├── FPEnvironment_QNX.h │ ├── FPEnvironment_SUN.h │ ├── FPEnvironment_WIN32.h │ ├── File.h │ ├── FileChannel.h │ ├── FileStream.h │ ├── FileStreamFactory.h │ ├── FileStream_POSIX.h │ ├── FileStream_WIN32.h │ ├── File_UNIX.h │ ├── File_VX.h │ ├── File_WIN32.h │ ├── File_WIN32U.h │ ├── File_WINCE.h │ ├── Format.h │ ├── Formatter.h │ ├── FormattingChannel.h │ ├── Foundation.h │ ├── FunctionDelegate.h │ ├── FunctionPriorityDelegate.h │ ├── Glob.h │ ├── HMACEngine.h │ ├── Hash.h │ ├── HashFunction.h │ ├── HashMap.h │ ├── HashSet.h │ ├── HashStatistic.h │ ├── HashTable.h │ ├── HexBinaryDecoder.h │ ├── HexBinaryEncoder.h │ ├── InflatingStream.h │ ├── Instantiator.h │ ├── JSONString.h │ ├── KeyValueArgs.h │ ├── LRUCache.h │ ├── LRUStrategy.h │ ├── Latin1Encoding.h │ ├── Latin2Encoding.h │ ├── Latin9Encoding.h │ ├── LineEndingConverter.h │ ├── LinearHashTable.h │ ├── ListMap.h │ ├── LocalDateTime.h │ ├── LogFile.h │ ├── LogFile_STD.h │ ├── LogFile_WIN32.h │ ├── LogFile_WIN32U.h │ ├── LogStream.h │ ├── Logger.h │ ├── LoggingFactory.h │ ├── LoggingRegistry.h │ ├── MD4Engine.h │ ├── MD5Engine.h │ ├── Manifest.h │ ├── MemoryPool.h │ ├── MemoryStream.h │ ├── Message.h │ ├── MetaObject.h │ ├── MetaProgramming.h │ ├── Mutex.h │ ├── Mutex_POSIX.h │ ├── Mutex_VX.h │ ├── Mutex_WIN32.h │ ├── Mutex_WINCE.h │ ├── NObserver.h │ ├── NamedEvent.h │ ├── NamedEvent_Android.h │ ├── NamedEvent_UNIX.h │ ├── NamedEvent_WIN32.h │ ├── NamedEvent_WIN32U.h │ ├── NamedMutex.h │ ├── NamedMutex_Android.h │ ├── NamedMutex_UNIX.h │ ├── NamedMutex_WIN32.h │ ├── NamedMutex_WIN32U.h │ ├── NamedTuple.h │ ├── NestedDiagnosticContext.h │ ├── Net │ ├── AbstractHTTPRequestHandler.h │ ├── DNS.h │ ├── DatagramSocket.h │ ├── DatagramSocketImpl.h │ ├── DialogSocket.h │ ├── FTPClientSession.h │ ├── FTPStreamFactory.h │ ├── FilePartSource.h │ ├── HTMLForm.h │ ├── HTTPAuthenticationParams.h │ ├── HTTPBasicCredentials.h │ ├── HTTPBasicStreamBuf.h │ ├── HTTPBufferAllocator.h │ ├── HTTPChunkedStream.h │ ├── HTTPClientSession.h │ ├── HTTPCookie.h │ ├── HTTPCredentials.h │ ├── HTTPDigestCredentials.h │ ├── HTTPFixedLengthStream.h │ ├── HTTPHeaderStream.h │ ├── HTTPIOStream.h │ ├── HTTPMessage.h │ ├── HTTPRequest.h │ ├── HTTPRequestHandler.h │ ├── HTTPRequestHandlerFactory.h │ ├── HTTPResponse.h │ ├── HTTPServer.h │ ├── HTTPServerConnection.h │ ├── HTTPServerConnectionFactory.h │ ├── HTTPServerParams.h │ ├── HTTPServerRequest.h │ ├── HTTPServerRequestImpl.h │ ├── HTTPServerResponse.h │ ├── HTTPServerResponseImpl.h │ ├── HTTPServerSession.h │ ├── HTTPSession.h │ ├── HTTPSessionFactory.h │ ├── HTTPSessionInstantiator.h │ ├── HTTPStream.h │ ├── HTTPStreamFactory.h │ ├── HostEntry.h │ ├── ICMPClient.h │ ├── ICMPEventArgs.h │ ├── ICMPPacket.h │ ├── ICMPPacketImpl.h │ ├── ICMPSocket.h │ ├── ICMPSocketImpl.h │ ├── ICMPv4PacketImpl.h │ ├── IPAddress.h │ ├── IPAddressImpl.h │ ├── MailMessage.h │ ├── MailRecipient.h │ ├── MailStream.h │ ├── MediaType.h │ ├── MessageHeader.h │ ├── MulticastSocket.h │ ├── MultipartReader.h │ ├── MultipartWriter.h │ ├── NTPClient.h │ ├── NTPEventArgs.h │ ├── NTPPacket.h │ ├── NameValueCollection.h │ ├── Net.h │ ├── NetException.h │ ├── NetworkInterface.h │ ├── NullPartHandler.h │ ├── OAuth10Credentials.h │ ├── OAuth20Credentials.h │ ├── POP3ClientSession.h │ ├── ParallelSocketAcceptor.h │ ├── ParallelSocketReactor.h │ ├── PartHandler.h │ ├── PartSource.h │ ├── PartStore.h │ ├── PollSet.h │ ├── QuotedPrintableDecoder.h │ ├── QuotedPrintableEncoder.h │ ├── RawSocket.h │ ├── RawSocketImpl.h │ ├── RemoteSyslogChannel.h │ ├── RemoteSyslogListener.h │ ├── SMTPChannel.h │ ├── SMTPClientSession.h │ ├── ServerSocket.h │ ├── ServerSocketImpl.h │ ├── Socket.h │ ├── SocketAcceptor.h │ ├── SocketAddress.h │ ├── SocketAddressImpl.h │ ├── SocketConnector.h │ ├── SocketDefs.h │ ├── SocketImpl.h │ ├── SocketNotification.h │ ├── SocketNotifier.h │ ├── SocketReactor.h │ ├── SocketStream.h │ ├── StreamSocket.h │ ├── StreamSocketImpl.h │ ├── StringPartSource.h │ ├── TCPServer.h │ ├── TCPServerConnection.h │ ├── TCPServerConnectionFactory.h │ ├── TCPServerDispatcher.h │ ├── TCPServerParams.h │ ├── WebSocket.h │ └── WebSocketImpl.h │ ├── Notification.h │ ├── NotificationCenter.h │ ├── NotificationQueue.h │ ├── NotificationStrategy.h │ ├── NullChannel.h │ ├── NullStream.h │ ├── Nullable.h │ ├── NumberFormatter.h │ ├── NumberParser.h │ ├── NumericString.h │ ├── ObjectPool.h │ ├── Observer.h │ ├── Optional.h │ ├── PBKDF2Engine.h │ ├── Path.h │ ├── Path_UNIX.h │ ├── Path_WIN32.h │ ├── Path_WIN32U.h │ ├── Path_WINCE.h │ ├── PatternFormatter.h │ ├── Pipe.h │ ├── PipeImpl.h │ ├── PipeImpl_DUMMY.h │ ├── PipeImpl_POSIX.h │ ├── PipeImpl_WIN32.h │ ├── PipeStream.h │ ├── Platform.h │ ├── Platform_POSIX.h │ ├── Platform_VX.h │ ├── Platform_WIN32.h │ ├── Poco.h │ ├── PriorityDelegate.h │ ├── PriorityEvent.h │ ├── PriorityExpire.h │ ├── PriorityNotificationQueue.h │ ├── PriorityStrategy.h │ ├── Process.h │ ├── Process_UNIX.h │ ├── Process_VX.h │ ├── Process_WIN32.h │ ├── Process_WIN32U.h │ ├── Process_WINCE.h │ ├── PurgeStrategy.h │ ├── RWLock.h │ ├── RWLock_Android.h │ ├── RWLock_POSIX.h │ ├── RWLock_VX.h │ ├── RWLock_WIN32.h │ ├── RWLock_WINCE.h │ ├── Random.h │ ├── RandomStream.h │ ├── RecursiveDirectoryIterator.h │ ├── RecursiveDirectoryIteratorImpl.h │ ├── RefCountedObject.h │ ├── RegularExpression.h │ ├── RotateStrategy.h │ ├── Runnable.h │ ├── RunnableAdapter.h │ ├── SHA1Engine.h │ ├── ScopedLock.h │ ├── ScopedUnlock.h │ ├── Semaphore.h │ ├── Semaphore_POSIX.h │ ├── Semaphore_VX.h │ ├── Semaphore_WIN32.h │ ├── SharedLibrary.h │ ├── SharedLibrary_HPUX.h │ ├── SharedLibrary_UNIX.h │ ├── SharedLibrary_VX.h │ ├── SharedLibrary_WIN32.h │ ├── SharedLibrary_WIN32U.h │ ├── SharedMemory.h │ ├── SharedMemory_DUMMY.h │ ├── SharedMemory_POSIX.h │ ├── SharedMemory_WIN32.h │ ├── SharedPtr.h │ ├── SignalHandler.h │ ├── SimpleFileChannel.h │ ├── SimpleHashTable.h │ ├── SingletonHolder.h │ ├── SortedDirectoryIterator.h │ ├── SplitterChannel.h │ ├── Stopwatch.h │ ├── StrategyCollection.h │ ├── StreamChannel.h │ ├── StreamConverter.h │ ├── StreamCopier.h │ ├── StreamTokenizer.h │ ├── StreamUtil.h │ ├── String.h │ ├── StringTokenizer.h │ ├── SynchronizedObject.h │ ├── SyslogChannel.h │ ├── Task.h │ ├── TaskManager.h │ ├── TaskNotification.h │ ├── TeeStream.h │ ├── TemporaryFile.h │ ├── TextBufferIterator.h │ ├── TextConverter.h │ ├── TextEncoding.h │ ├── TextIterator.h │ ├── Thread.h │ ├── ThreadLocal.h │ ├── ThreadPool.h │ ├── ThreadTarget.h │ ├── Thread_POSIX.h │ ├── Thread_VX.h │ ├── Thread_WIN32.h │ ├── Thread_WINCE.h │ ├── TimedNotificationQueue.h │ ├── Timer.h │ ├── Timespan.h │ ├── Timestamp.h │ ├── Timezone.h │ ├── Token.h │ ├── Tuple.h │ ├── TypeList.h │ ├── Types.h │ ├── URI.h │ ├── URIStreamFactory.h │ ├── URIStreamOpener.h │ ├── UTF16Encoding.h │ ├── UTF32Encoding.h │ ├── UTF8Encoding.h │ ├── UTF8String.h │ ├── UTFString.h │ ├── UUID.h │ ├── UUIDGenerator.h │ ├── UnWindows.h │ ├── UnbufferedStreamBuf.h │ ├── Unicode.h │ ├── UnicodeConverter.h │ ├── UniqueAccessExpireCache.h │ ├── UniqueAccessExpireLRUCache.h │ ├── UniqueAccessExpireStrategy.h │ ├── UniqueExpireCache.h │ ├── UniqueExpireLRUCache.h │ ├── UniqueExpireStrategy.h │ ├── ValidArgs.h │ ├── Version.h │ ├── Void.h │ ├── Windows1250Encoding.h │ ├── Windows1251Encoding.h │ ├── Windows1252Encoding.h │ ├── WindowsConsoleChannel.h │ ├── zconf.h │ └── zlib.h ├── readme.md ├── sdk └── sdk.pro ├── src ├── CWHttpServer.cpp ├── CWHttpServer.h ├── CWLogger.h ├── CWRequestHandler.cpp ├── CWRequestHandler.h ├── CWRequestHandlerFactory.cpp ├── CWRequestHandlerFactory.h ├── CWWebSocketServer.cpp ├── CWWebSocketServer.h ├── MediaTypeMapper.cpp ├── MediaTypeMapper.h ├── common.h ├── datapacket.h ├── dataqueue.cpp ├── dataqueue.h ├── ffavframe.cpp ├── ffavframe.h ├── ffconfig.h ├── ffmpegencoder.cpp ├── ffmpegencoder.h ├── ffutils.cpp ├── ffutils.h ├── flvmuxer.cpp ├── flvmuxer.h ├── h5liveserver.cpp ├── h5liveserver.h ├── main.cpp ├── mediatype.cpp ├── mediatype.h ├── pushermanager.cpp ├── pushermanager.h ├── pusherpair.cpp ├── pusherpair.h ├── rtsppusher.cpp ├── rtsppusher.h ├── streamchannel.cpp ├── streamchannel.h ├── videopp.cpp ├── videopp.h ├── videoqueue.cpp └── videoqueue.h ├── test.flv └── web ├── .babelrc ├── .eslintignore ├── .eslintrc.json ├── .gitignore ├── .npmignore ├── LICENSE ├── README.md ├── d.ts └── flv.d.ts ├── demo ├── demo.css ├── index.html ├── index2.html └── test.flv ├── dist ├── demo.css ├── flv.js ├── flv.js.map └── index.html ├── docs ├── api.md ├── architecture.png ├── cors.md ├── design.md ├── livestream.md └── multipart.md ├── favicon.ico ├── gulpfile.js ├── package-lock.json ├── package.json └── src ├── config.js ├── core ├── features.js ├── media-info.js ├── media-segment-info.js ├── mse-controller.js ├── mse-events.js ├── transmuxer.js ├── transmuxing-controller.js ├── transmuxing-events.js └── transmuxing-worker.js ├── demux ├── amf-parser.js ├── demux-errors.js ├── exp-golomb.js ├── flv-demuxer.js └── sps-parser.js ├── flv.js ├── index.js ├── io ├── fetch-stream-loader.js ├── io-controller.js ├── loader.js ├── param-seek-handler.js ├── range-seek-handler.js ├── speed-sampler.js ├── websocket-loader.js ├── xhr-moz-chunked-loader.js ├── xhr-msstream-loader.js └── xhr-range-loader.js ├── player ├── flv-player.js ├── native-player.js ├── player-errors.js └── player-events.js ├── remux ├── aac-silent.js ├── mp4-generator.js └── mp4-remuxer.js └── utils ├── browser.js ├── exception.js ├── logger.js ├── logging-control.js ├── polyfill.js └── utf8-conv.js /.gitignore: -------------------------------------------------------------------------------- 1 | *.user 2 | *.obj 3 | *.exe 4 | *.res 5 | Makefile 6 | Makefile.Release 7 | Makefile.Debug 8 | *.manifest 9 | *.pdb 10 | *.ilk 11 | *.rc 12 | si 13 | .settings 14 | android/h5live/bin 15 | android/h5live/gen 16 | android/h5live/lib/armeabi-v7a 17 | armeabi-v7a 18 | /android/h5live_as/.gradle 19 | /android/h5live_as/.idea 20 | /android/h5live_as/build 21 | /jni/obj 22 | /jni/libs 23 | src 24 | obj/ 25 | .idea 26 | -------------------------------------------------------------------------------- /android/h5live_as/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/h5live_as/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | h5live 4 | 5 | 6 | 7 | 8 | 9 | com.android.ide.eclipse.adt.ResourceManagerBuilder 10 | 11 | 12 | 13 | 14 | com.android.ide.eclipse.adt.PreCompilerBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.android.ide.eclipse.adt.ApkBuilder 25 | 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.AndroidNature 31 | org.eclipse.jdt.core.javanature 32 | 33 | 34 | -------------------------------------------------------------------------------- /android/h5live_as/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | 20 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /android/h5live_as/assets/web/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/android/h5live_as/assets/web/favicon.ico -------------------------------------------------------------------------------- /android/h5live_as/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/android/h5live_as/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/h5live_as/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Nov 22 14:44:24 CST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /android/h5live_as/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/android/h5live_as/ic_launcher-web.png -------------------------------------------------------------------------------- /android/h5live_as/local.properties: -------------------------------------------------------------------------------- 1 | ## This file is automatically generated by Android Studio. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must *NOT* be checked into Version Control Systems, 5 | # as it contains information specific to your local configuration. 6 | # 7 | # Location of the SDK. This is only used by Gradle. 8 | # For customization when using a Version Control System, please read the 9 | # header note. 10 | #Fri Mar 30 18:31:20 CST 2018 11 | ndk.dir=G\:\\work\\tools\\android-studio-ide-171.4408382-windows\\sdk\\ndk-bundle 12 | sdk.dir=G\:\\work\\tools\\android-studio-ide-171.4408382-windows\\sdk 13 | -------------------------------------------------------------------------------- /android/h5live_as/proguard-project.txt: -------------------------------------------------------------------------------- 1 | # To enable ProGuard in your project, edit project.properties 2 | # to define the proguard.config property as described in that file. 3 | # 4 | # Add project specific ProGuard rules here. 5 | # By default, the flags in this file are appended to flags specified 6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt 7 | # You can edit the include path and order by changing the ProGuard 8 | # include property in project.properties. 9 | # 10 | # For more details, see 11 | # http://developer.android.com/guide/developing/tools/proguard.html 12 | 13 | # Add any project specific keep options here: 14 | 15 | # If your project uses WebView with JS, uncomment the following 16 | # and specify the fully qualified class name to the JavaScript interface 17 | # class: 18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 19 | # public *; 20 | #} 21 | -------------------------------------------------------------------------------- /android/h5live_as/project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system edit 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | # 10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): 11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 12 | 13 | # Project target. 14 | target=android-20 15 | -------------------------------------------------------------------------------- /android/h5live_as/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/android/h5live_as/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/h5live_as/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/android/h5live_as/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/h5live_as/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/android/h5live_as/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/h5live_as/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/android/h5live_as/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/h5live_as/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/h5live_as/res/menu/main.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/h5live_as/res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/h5live_as/res/values-v14/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/h5live_as/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 64dp 9 | 10 | 11 | -------------------------------------------------------------------------------- /android/h5live_as/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16dp 5 | 16dp 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/h5live_as/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | h5live 5 | Hello world! 6 | Settings 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/h5live_as/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 14 | 15 | 16 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /android/h5live_as/src/cn/face/sdk/FaceCommon.java: -------------------------------------------------------------------------------- 1 | package cn.face.sdk; 2 | 3 | public class FaceCommon { 4 | 5 | private static void loadLibrary(String libraryName) { 6 | System.loadLibrary(libraryName); 7 | } 8 | 9 | public static void loadLibrarys() { 10 | // TODO Auto-generated method stub 11 | loadLibrary("h5live"); 12 | 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /android/h5live_as/src/cn/face/sdk/h5live.java: -------------------------------------------------------------------------------- 1 | package cn.face.sdk; 2 | 3 | 4 | 5 | public class h5live { 6 | 7 | static h5live camera = null; 8 | 9 | public h5live() { 10 | FaceCommon.loadLibrarys(); 11 | } 12 | 13 | public static h5live getInstance() { 14 | 15 | if (null == camera) { 16 | camera = new h5live(); 17 | } 18 | return camera; 19 | } 20 | 21 | static public native int H5liveStart(String root, int port); 22 | static public native int H5livePush(String channel, byte[] data); 23 | static public native int H5liveStop(); 24 | static public native int H5liveAddStream(String channel); 25 | static public native int H5liveRemoveStream(String channel); 26 | static public native int H5liveGetClientNum(String channel); 27 | 28 | } 29 | -------------------------------------------------------------------------------- /debug/PocoFoundationd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/debug/PocoFoundationd.dll -------------------------------------------------------------------------------- /debug/PocoNetd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/debug/PocoNetd.dll -------------------------------------------------------------------------------- /debug/avcodec-57.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/debug/avcodec-57.dll -------------------------------------------------------------------------------- /debug/avdevice-57.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/debug/avdevice-57.dll -------------------------------------------------------------------------------- /debug/avfilter-6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/debug/avfilter-6.dll -------------------------------------------------------------------------------- /debug/avformat-57.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/debug/avformat-57.dll -------------------------------------------------------------------------------- /debug/avutil-55.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/debug/avutil-55.dll -------------------------------------------------------------------------------- /debug/opencv_world310.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/debug/opencv_world310.dll -------------------------------------------------------------------------------- /debug/swresample-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/debug/swresample-2.dll -------------------------------------------------------------------------------- /debug/swscale-4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/debug/swscale-4.dll -------------------------------------------------------------------------------- /debug/test.flv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/debug/test.flv -------------------------------------------------------------------------------- /doc/FLV细节解析.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/doc/FLV细节解析.pdf -------------------------------------------------------------------------------- /doc/H.264-AVC-ISO_IEC_14496-15.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/doc/H.264-AVC-ISO_IEC_14496-15.pdf -------------------------------------------------------------------------------- /doc/flv_v10_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/doc/flv_v10_1.pdf -------------------------------------------------------------------------------- /doc/h5live.eddx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/doc/h5live.eddx -------------------------------------------------------------------------------- /doc/h5live内部架构.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/doc/h5live内部架构.png -------------------------------------------------------------------------------- /doc/h5整体架构.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/doc/h5整体架构.png -------------------------------------------------------------------------------- /ext/ffmpeg/include/_mingw.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/ffmpeg/include/_mingw.h -------------------------------------------------------------------------------- /ext/ffmpeg/include/libavfilter/avfiltergraph.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Filter graphs 3 | * copyright (c) 2007 Bobby Bingham 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFILTER_AVFILTERGRAPH_H 23 | #define AVFILTER_AVFILTERGRAPH_H 24 | 25 | #include "avfilter.h" 26 | #include "libavutil/log.h" 27 | 28 | #endif /* AVFILTER_AVFILTERGRAPH_H */ 29 | -------------------------------------------------------------------------------- /ext/ffmpeg/include/libavutil/avconfig.h: -------------------------------------------------------------------------------- 1 | /* Generated by ffconf */ 2 | #ifndef AVUTIL_AVCONFIG_H 3 | #define AVUTIL_AVCONFIG_H 4 | #define AV_HAVE_BIGENDIAN 0 5 | #define AV_HAVE_FAST_UNALIGNED 1 6 | #define AV_HAVE_INCOMPATIBLE_LIBAV_ABI 0 7 | #endif /* AVUTIL_AVCONFIG_H */ 8 | -------------------------------------------------------------------------------- /ext/ffmpeg/include/libavutil/ffversion.h: -------------------------------------------------------------------------------- 1 | /* Automatically generated by version.sh, do not manually edit! */ 2 | #ifndef AVUTIL_FFVERSION_H 3 | #define AVUTIL_FFVERSION_H 4 | #define FFMPEG_VERSION "3.1.5" 5 | #endif /* AVUTIL_FFVERSION_H */ 6 | -------------------------------------------------------------------------------- /ext/ffmpeg/include/libavutil/murmur3.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2013 Reimar Döffinger 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVUTIL_MURMUR3_H 22 | #define AVUTIL_MURMUR3_H 23 | 24 | #include 25 | 26 | struct AVMurMur3 *av_murmur3_alloc(void); 27 | void av_murmur3_init_seeded(struct AVMurMur3 *c, uint64_t seed); 28 | void av_murmur3_init(struct AVMurMur3 *c); 29 | void av_murmur3_update(struct AVMurMur3 *c, const uint8_t *src, int len); 30 | void av_murmur3_final(struct AVMurMur3 *c, uint8_t dst[16]); 31 | 32 | #endif /* AVUTIL_MURMUR3_H */ 33 | -------------------------------------------------------------------------------- /ext/ffmpeg/lib/avcodec.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/ffmpeg/lib/avcodec.lib -------------------------------------------------------------------------------- /ext/ffmpeg/lib/avdevice.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/ffmpeg/lib/avdevice.lib -------------------------------------------------------------------------------- /ext/ffmpeg/lib/avfilter.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/ffmpeg/lib/avfilter.lib -------------------------------------------------------------------------------- /ext/ffmpeg/lib/avformat.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/ffmpeg/lib/avformat.lib -------------------------------------------------------------------------------- /ext/ffmpeg/lib/avutil.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/ffmpeg/lib/avutil.lib -------------------------------------------------------------------------------- /ext/ffmpeg/lib/postproc.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/ffmpeg/lib/postproc.lib -------------------------------------------------------------------------------- /ext/ffmpeg/lib/swresample.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/ffmpeg/lib/swresample.lib -------------------------------------------------------------------------------- /ext/ffmpeg/lib/swscale.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/ffmpeg/lib/swscale.lib -------------------------------------------------------------------------------- /ext/include/Poco/ASCIIEncoding.h: -------------------------------------------------------------------------------- 1 | // 2 | // ASCIIEncoding.h 3 | // 4 | // Library: Foundation 5 | // Package: Text 6 | // Module: ASCIIEncoding 7 | // 8 | // Definition of the ASCIIEncoding class. 9 | // 10 | // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_ASCIIEncoding_INCLUDED 18 | #define Foundation_ASCIIEncoding_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/TextEncoding.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API ASCIIEncoding: public TextEncoding 29 | /// 7-bit ASCII text encoding. 30 | { 31 | public: 32 | ASCIIEncoding(); 33 | ~ASCIIEncoding(); 34 | const char* canonicalName() const; 35 | bool isA(const std::string& encodingName) const; 36 | const CharacterMap& characterMap() const; 37 | int convert(const unsigned char* bytes) const; 38 | int convert(int ch, unsigned char* bytes, int length) const; 39 | int queryConvert(const unsigned char* bytes, int length) const; 40 | int sequenceLength(const unsigned char* bytes, int length) const; 41 | 42 | private: 43 | static const char* _names[]; 44 | static const CharacterMap _charMap; 45 | }; 46 | 47 | 48 | } // namespace Poco 49 | 50 | 51 | #endif // Foundation_ASCIIEncoding_INCLUDED 52 | -------------------------------------------------------------------------------- /ext/include/Poco/AbstractObserver.h: -------------------------------------------------------------------------------- 1 | // 2 | // AbstractObserver.h 3 | // 4 | // Library: Foundation 5 | // Package: Notifications 6 | // Module: NotificationCenter 7 | // 8 | // Definition of the AbstractObserver class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_AbstractObserver_INCLUDED 18 | #define Foundation_AbstractObserver_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Notification.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API AbstractObserver 29 | /// The base class for all instantiations of 30 | /// the Observer and NObserver template classes. 31 | { 32 | public: 33 | AbstractObserver(); 34 | AbstractObserver(const AbstractObserver& observer); 35 | virtual ~AbstractObserver(); 36 | 37 | AbstractObserver& operator = (const AbstractObserver& observer); 38 | 39 | virtual void notify(Notification* pNf) const = 0; 40 | virtual bool equals(const AbstractObserver& observer) const = 0; 41 | virtual bool accepts(Notification* pNf) const = 0; 42 | virtual AbstractObserver* clone() const = 0; 43 | virtual void disable() = 0; 44 | }; 45 | 46 | 47 | } // namespace Poco 48 | 49 | 50 | #endif // Foundation_AbstractObserver_INCLUDED 51 | -------------------------------------------------------------------------------- /ext/include/Poco/ActiveStarter.h: -------------------------------------------------------------------------------- 1 | // 2 | // ActiveStarter.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: ActiveObjects 7 | // 8 | // Definition of the ActiveStarter class. 9 | // 10 | // Copyright (c) 2006-2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_ActiveStarter_INCLUDED 18 | #define Foundation_ActiveStarter_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/ThreadPool.h" 23 | #include "Poco/ActiveRunnable.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | template 30 | class ActiveStarter 31 | /// The default implementation of the StarterType 32 | /// policy for ActiveMethod. It starts the method 33 | /// in its own thread, obtained from the default 34 | /// thread pool. 35 | { 36 | public: 37 | static void start(OwnerType* /*pOwner*/, ActiveRunnableBase::Ptr pRunnable) 38 | { 39 | ThreadPool::defaultPool().start(*pRunnable); 40 | pRunnable->duplicate(); // The runnable will release itself. 41 | } 42 | }; 43 | 44 | 45 | } // namespace Poco 46 | 47 | 48 | #endif // Foundation_ActiveStarter_INCLUDED 49 | -------------------------------------------------------------------------------- /ext/include/Poco/BasicEvent.h: -------------------------------------------------------------------------------- 1 | // 2 | // BasicEvent.h 3 | // 4 | // Library: Foundation 5 | // Package: Events 6 | // Module: BasicEvent 7 | // 8 | // Implementation of the BasicEvent template. 9 | // 10 | // Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_BasicEvent_INCLUDED 18 | #define Foundation_BasicEvent_INCLUDED 19 | 20 | 21 | #include "Poco/AbstractEvent.h" 22 | #include "Poco/DefaultStrategy.h" 23 | #include "Poco/AbstractDelegate.h" 24 | #include "Poco/Mutex.h" 25 | 26 | 27 | namespace Poco { 28 | 29 | 30 | template 31 | class BasicEvent: public AbstractEvent < 32 | TArgs, DefaultStrategy >, 33 | AbstractDelegate, 34 | TMutex 35 | > 36 | /// A BasicEvent uses the DefaultStrategy which 37 | /// invokes delegates in the order they have been registered. 38 | /// 39 | /// Please see the AbstractEvent class template documentation 40 | /// for more information. 41 | { 42 | public: 43 | BasicEvent() 44 | { 45 | } 46 | 47 | ~BasicEvent() 48 | { 49 | } 50 | 51 | private: 52 | BasicEvent(const BasicEvent& e); 53 | BasicEvent& operator = (const BasicEvent& e); 54 | }; 55 | 56 | 57 | } // namespace Poco 58 | 59 | 60 | #endif // Foundation_BasicEvent_INCLUDED 61 | -------------------------------------------------------------------------------- /ext/include/Poco/BufferAllocator.h: -------------------------------------------------------------------------------- 1 | // 2 | // BufferAllocator.h 3 | // 4 | // Library: Foundation 5 | // Package: Streams 6 | // Module: BufferAllocator 7 | // 8 | // Definition of the BufferAllocator class. 9 | // 10 | // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_BufferAllocator_INCLUDED 18 | #define Foundation_BufferAllocator_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | #include 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | template 30 | class BufferAllocator 31 | /// The BufferAllocator used if no specific 32 | /// BufferAllocator has been specified. 33 | { 34 | public: 35 | typedef ch char_type; 36 | 37 | static char_type* allocate(std::streamsize size) 38 | { 39 | return new char_type[static_cast(size)]; 40 | } 41 | 42 | static void deallocate(char_type* ptr, std::streamsize /*size*/) throw() 43 | { 44 | delete [] ptr; 45 | } 46 | }; 47 | 48 | 49 | } // namespace Poco 50 | 51 | 52 | #endif // Foundation_BufferAllocator_INCLUDED 53 | -------------------------------------------------------------------------------- /ext/include/Poco/DynamicAny.h: -------------------------------------------------------------------------------- 1 | // 2 | // DynamicAny.h 3 | // 4 | // Library: Foundation 5 | // Package: Dynamic 6 | // Module: Var 7 | // 8 | // Forward header for Var class to maintain backward compatibility. 9 | // 10 | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_DynamicAny_INCLUDED 18 | #define Foundation_DynamicAny_INCLUDED 19 | 20 | //@ deprecated 21 | #include "Poco/Dynamic/Var.h" 22 | 23 | 24 | #endif // Foundation_DynamicAny_INCLUDED 25 | -------------------------------------------------------------------------------- /ext/include/Poco/DynamicAnyHolder.h: -------------------------------------------------------------------------------- 1 | // 2 | // DynamicAnyHolder.h 3 | // 4 | // Library: Foundation 5 | // Package: Dynamic 6 | // Module: VarHolder 7 | // 8 | // Forward header for VarHolder class to maintain backward compatibility 9 | // 10 | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_DynamicAnyHolder_INCLUDED 18 | #define Foundation_DynamicAnyHolder_INCLUDED 19 | 20 | //@ deprecated 21 | #include "Poco/Dynamic/VarHolder.h" 22 | 23 | 24 | #endif // Foundation_DynamicAnyHolder_INCLUDED 25 | -------------------------------------------------------------------------------- /ext/include/Poco/DynamicStruct.h: -------------------------------------------------------------------------------- 1 | // 2 | // DynamicStruct.h 3 | // 4 | // Library: Foundation 5 | // Package: Dynamic 6 | // Module: Struct 7 | // 8 | // Forward header for Struct class to maintain backward compatibility. 9 | // 10 | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_DynamicStruct_INCLUDED 18 | #define Foundation_DynamicStruct_INCLUDED 19 | 20 | //@ deprecated 21 | #include "Poco/Dynamic/Struct.h" 22 | 23 | 24 | #endif // Foundation_DynamicStruct_INCLUDED 25 | -------------------------------------------------------------------------------- /ext/include/Poco/Environment_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // Environment_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Environment 7 | // 8 | // Definition of the EnvironmentImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Environment_WIN32_INCLUDED 18 | #define Foundation_Environment_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API EnvironmentImpl 28 | { 29 | public: 30 | typedef UInt8 NodeId[6]; /// Ethernet address. 31 | 32 | static std::string getImpl(const std::string& name); 33 | static bool hasImpl(const std::string& name); 34 | static void setImpl(const std::string& name, const std::string& value); 35 | static std::string osNameImpl(); 36 | static std::string osDisplayNameImpl(); 37 | static std::string osVersionImpl(); 38 | static std::string osArchitectureImpl(); 39 | static std::string nodeNameImpl(); 40 | static void nodeIdImpl(NodeId& id); 41 | static unsigned processorCountImpl(); 42 | }; 43 | 44 | 45 | } // namespace Poco 46 | 47 | 48 | #endif // Foundation_Environment_WIN32_INCLUDED 49 | -------------------------------------------------------------------------------- /ext/include/Poco/Environment_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // Environment_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Environment 7 | // 8 | // Definition of the EnvironmentImpl class for WIN32. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Environment_WIN32U_INCLUDED 18 | #define Foundation_Environment_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API EnvironmentImpl 28 | { 29 | public: 30 | typedef UInt8 NodeId[6]; /// Ethernet address. 31 | 32 | static std::string getImpl(const std::string& name); 33 | static bool hasImpl(const std::string& name); 34 | static void setImpl(const std::string& name, const std::string& value); 35 | static std::string osNameImpl(); 36 | static std::string osDisplayNameImpl(); 37 | static std::string osVersionImpl(); 38 | static std::string osArchitectureImpl(); 39 | static std::string nodeNameImpl(); 40 | static void nodeIdImpl(NodeId& id); 41 | static unsigned processorCountImpl(); 42 | }; 43 | 44 | 45 | } // namespace Poco 46 | 47 | 48 | #endif // Foundation_Environment_WIN32U_INCLUDED 49 | -------------------------------------------------------------------------------- /ext/include/Poco/Error.h: -------------------------------------------------------------------------------- 1 | // 2 | // Error.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Error 7 | // 8 | // Definition of the Error class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Error_INCLUDED 18 | #define Foundation_Error_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API Error 28 | /// The Error class provides utility functions 29 | /// for error reporting. 30 | { 31 | public: 32 | 33 | #ifdef POCO_OS_FAMILY_WINDOWS 34 | static DWORD last(); 35 | /// Utility function returning the last error. 36 | 37 | static std::string getMessage(DWORD errorCode); 38 | /// Utility function translating numeric error code to string. 39 | #else 40 | static int last(); 41 | /// Utility function returning the last error. 42 | 43 | static std::string getMessage(int errorCode); 44 | /// Utility function translating numeric error code to string. 45 | #endif 46 | }; 47 | 48 | 49 | } // namespace Poco 50 | 51 | 52 | #endif // Foundation_Error_INCLUDED 53 | -------------------------------------------------------------------------------- /ext/include/Poco/EventArgs.h: -------------------------------------------------------------------------------- 1 | // 2 | // EventArgs.h 3 | // 4 | // Library: Foundation 5 | // Package: Events 6 | // Module: EventArgs 7 | // 8 | // Definition of EventArgs. 9 | // 10 | // Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_EventArgs_INCLUDED 18 | #define Foundation_EventArgs_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API EventArgs 28 | /// The purpose of the EventArgs class is to be used as parameter 29 | /// when one doesn't want to send any data. 30 | /// 31 | /// One can use EventArgs as a base class for one's own event arguments 32 | /// but with the arguments being a template parameter this is not 33 | /// necessary. 34 | { 35 | public: 36 | EventArgs(); 37 | 38 | virtual ~EventArgs(); 39 | }; 40 | 41 | 42 | } // namespace Poco 43 | 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /ext/include/Poco/EventChannel.h: -------------------------------------------------------------------------------- 1 | // 2 | // EventChannel.h 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: EventChannel 7 | // 8 | // Definition of the EventChannel class. 9 | // 10 | // Copyright (c) 2015, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_EventChannel_INCLUDED 18 | #define Foundation_EventChannel_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Channel.h" 23 | #include "Poco/Message.h" 24 | #include "Poco/BasicEvent.h" 25 | 26 | 27 | namespace Poco { 28 | 29 | 30 | class Foundation_API EventChannel: public Channel 31 | /// The EventChannel fires the messageLogged event for every log message 32 | /// received. This can be used to hook custom log message processing into 33 | /// the logging framework. 34 | { 35 | public: 36 | Poco::BasicEvent messageLogged; 37 | /// Fired when a message is logged by calling the log() method. 38 | 39 | EventChannel(); 40 | /// Creates the EventChannel. 41 | 42 | void log(const Message& msg); 43 | /// Fires the messageLogged event. 44 | 45 | protected: 46 | ~EventChannel(); 47 | /// Destroys the EventChannel. 48 | }; 49 | 50 | 51 | } // namespace Poco 52 | 53 | 54 | #endif // Foundation_EventChannel_INCLUDED 55 | -------------------------------------------------------------------------------- /ext/include/Poco/Event_VX.h: -------------------------------------------------------------------------------- 1 | // 2 | // Event_VX.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Event 7 | // 8 | // Definition of the EventImpl class for VxWorks. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Event_VX_INCLUDED 18 | #define Foundation_Event_VX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API EventImpl 30 | { 31 | protected: 32 | EventImpl(bool autoReset); 33 | ~EventImpl(); 34 | void setImpl(); 35 | void waitImpl(); 36 | bool waitImpl(long milliseconds); 37 | void resetImpl(); 38 | 39 | private: 40 | bool _auto; 41 | volatile bool _state; 42 | SEM_ID _sem; 43 | }; 44 | 45 | 46 | } // namespace Poco 47 | 48 | 49 | #endif // Foundation_Event_VX_INCLUDED 50 | -------------------------------------------------------------------------------- /ext/include/Poco/Event_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // Event_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Event 7 | // 8 | // Definition of the EventImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Event_WIN32_INCLUDED 18 | #define Foundation_Event_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API EventImpl 30 | { 31 | protected: 32 | EventImpl(bool autoReset); 33 | ~EventImpl(); 34 | void setImpl(); 35 | void waitImpl(); 36 | bool waitImpl(long milliseconds); 37 | void resetImpl(); 38 | 39 | private: 40 | HANDLE _event; 41 | }; 42 | 43 | 44 | // 45 | // inlines 46 | // 47 | inline void EventImpl::setImpl() 48 | { 49 | if (!SetEvent(_event)) 50 | { 51 | throw SystemException("cannot signal event"); 52 | } 53 | } 54 | 55 | 56 | inline void EventImpl::resetImpl() 57 | { 58 | if (!ResetEvent(_event)) 59 | { 60 | throw SystemException("cannot reset event"); 61 | } 62 | } 63 | 64 | 65 | } // namespace Poco 66 | 67 | 68 | #endif // Foundation_Event_WIN32_INCLUDED 69 | -------------------------------------------------------------------------------- /ext/include/Poco/FIFOStrategy.h: -------------------------------------------------------------------------------- 1 | // 2 | // FIFOStrategy.h 3 | // 4 | // Library: Foundation 5 | // Package: Events 6 | // Module: FIFOStragegy 7 | // 8 | // Implementation of the FIFOStrategy template. 9 | // 10 | // Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_FIFOStrategy_INCLUDED 18 | #define Foundation_FIFOStrategy_INCLUDED 19 | 20 | 21 | #include "Poco/DefaultStrategy.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | //@ deprecated 28 | template 29 | class FIFOStrategy: public DefaultStrategy 30 | /// Note: As of release 1.4.2, DefaultStrategy already 31 | /// implements FIFO behavior, so this class is provided 32 | /// for backwards compatibility only. 33 | { 34 | public: 35 | FIFOStrategy() 36 | { 37 | } 38 | 39 | FIFOStrategy(const FIFOStrategy& s): 40 | DefaultStrategy(s) 41 | { 42 | } 43 | 44 | ~FIFOStrategy() 45 | { 46 | } 47 | 48 | FIFOStrategy& operator = (const FIFOStrategy& s) 49 | { 50 | DefaultStrategy::operator = (s); 51 | return *this; 52 | } 53 | }; 54 | 55 | 56 | } // namespace Poco 57 | 58 | 59 | #endif // Foundation_FIFOStrategy_INCLUDED 60 | -------------------------------------------------------------------------------- /ext/include/Poco/HashFunction.h: -------------------------------------------------------------------------------- 1 | // 2 | // HashFunction.h 3 | // 4 | // Library: Foundation 5 | // Package: Hashing 6 | // Module: HashFunction 7 | // 8 | // Definition of the HashFunction class. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_HashFunction_INCLUDED 18 | #define Foundation_HashFunction_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Hash.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | //@ deprecated 29 | template 30 | struct HashFunction 31 | /// A generic hash function. 32 | { 33 | UInt32 operator () (T key, UInt32 maxValue) const 34 | /// Returns the hash value for the given key. 35 | { 36 | return static_cast(Poco::hash(key)) % maxValue; 37 | } 38 | }; 39 | 40 | 41 | //@ deprecated 42 | template <> 43 | struct HashFunction 44 | /// A generic hash function. 45 | { 46 | UInt32 operator () (const std::string& key, UInt32 maxValue) const 47 | /// Returns the hash value for the given key. 48 | { 49 | return static_cast(Poco::hash(key)) % maxValue; 50 | } 51 | }; 52 | 53 | 54 | } // namespace Poco 55 | 56 | 57 | #endif // Foundation_HashFunctions_INCLUDED 58 | -------------------------------------------------------------------------------- /ext/include/Poco/JSON/JSONException.h: -------------------------------------------------------------------------------- 1 | // 2 | // JSONException.h 3 | // 4 | // Library: JSON 5 | // Package: JSON 6 | // Module: JSONException 7 | // 8 | // Definition of the JSONException class. 9 | // 10 | // Copyright (c) 2012, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef JSON_JSONException_INCLUDED 18 | #define JSON_JSONException_INCLUDED 19 | 20 | 21 | #include "Poco/JSON/JSON.h" 22 | #include "Poco/Exception.h" 23 | 24 | 25 | namespace Poco { 26 | namespace JSON { 27 | 28 | 29 | POCO_DECLARE_EXCEPTION(JSON_API, JSONException, Poco::Exception) 30 | 31 | 32 | } } // namespace Poco::JSON 33 | 34 | 35 | #endif // JSON_JSONException_INCLUDED 36 | -------------------------------------------------------------------------------- /ext/include/Poco/JSONString.h: -------------------------------------------------------------------------------- 1 | // 2 | // JSONString.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: String 7 | // 8 | // JSONString utility functions. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_JSONString_INCLUDED 18 | #define Foundation_JSONString_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | void Foundation_API toJSON(const std::string& value, std::ostream& out, bool wrap = true); 28 | /// Formats string value into the supplied output stream by 29 | /// escaping control characters. 30 | /// If wrap is true, the resulting string is enclosed in double quotes 31 | 32 | std::string Foundation_API toJSON(const std::string& value, bool wrap = true); 33 | /// Formats string value by escaping control characters. 34 | /// If wrap is true, the resulting string is enclosed in double quotes 35 | /// Returns formatted string. 36 | 37 | 38 | } // namespace Poco 39 | 40 | 41 | #endif // Foundation_JSONString_INCLUDED 42 | -------------------------------------------------------------------------------- /ext/include/Poco/LRUCache.h: -------------------------------------------------------------------------------- 1 | // 2 | // LRUCache.h 3 | // 4 | // Library: Foundation 5 | // Package: Cache 6 | // Module: LRUCache 7 | // 8 | // Definition of the LRUCache class. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_LRUCache_INCLUDED 18 | #define Foundation_LRUCache_INCLUDED 19 | 20 | 21 | #include "Poco/AbstractCache.h" 22 | #include "Poco/LRUStrategy.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | template < 29 | class TKey, 30 | class TValue, 31 | class TMutex = FastMutex, 32 | class TEventMutex = FastMutex 33 | > 34 | class LRUCache: public AbstractCache, TMutex, TEventMutex> 35 | /// An LRUCache implements Least Recently Used caching. The default size for a cache is 1024 entries. 36 | { 37 | public: 38 | LRUCache(long size = 1024): 39 | AbstractCache, TMutex, TEventMutex>(LRUStrategy(size)) 40 | { 41 | } 42 | 43 | ~LRUCache() 44 | { 45 | } 46 | 47 | private: 48 | LRUCache(const LRUCache& aCache); 49 | LRUCache& operator = (const LRUCache& aCache); 50 | }; 51 | 52 | 53 | } // namespace Poco 54 | 55 | 56 | #endif // Foundation_LRUCache_INCLUDED 57 | -------------------------------------------------------------------------------- /ext/include/Poco/Latin1Encoding.h: -------------------------------------------------------------------------------- 1 | // 2 | // Latin1Encoding.h 3 | // 4 | // Library: Foundation 5 | // Package: Text 6 | // Module: Latin1Encoding 7 | // 8 | // Definition of the Latin1Encoding class. 9 | // 10 | // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Latin1Encoding_INCLUDED 18 | #define Foundation_Latin1Encoding_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/TextEncoding.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API Latin1Encoding: public TextEncoding 29 | /// ISO Latin-1 (8859-1) text encoding. 30 | { 31 | public: 32 | Latin1Encoding(); 33 | ~Latin1Encoding(); 34 | const char* canonicalName() const; 35 | bool isA(const std::string& encodingName) const; 36 | const CharacterMap& characterMap() const; 37 | int convert(const unsigned char* bytes) const; 38 | int convert(int ch, unsigned char* bytes, int length) const; 39 | int queryConvert(const unsigned char* bytes, int length) const; 40 | int sequenceLength(const unsigned char* bytes, int length) const; 41 | 42 | private: 43 | static const char* _names[]; 44 | static const CharacterMap _charMap; 45 | }; 46 | 47 | 48 | } // namespace Poco 49 | 50 | 51 | #endif // Foundation_Latin1Encoding_INCLUDED 52 | -------------------------------------------------------------------------------- /ext/include/Poco/LogFile_STD.h: -------------------------------------------------------------------------------- 1 | // 2 | // LogFile_STD.h 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: LogFile 7 | // 8 | // Definition of the LogFileImpl class using iostreams. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_LogFile_STD_INCLUDED 18 | #define Foundation_LogFile_STD_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Timestamp.h" 23 | #include "Poco/FileStream.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API LogFileImpl 30 | /// The implementation of LogFile for non-Windows platforms. 31 | /// The native filesystem APIs are used for 32 | /// total control over locking behavior. 33 | { 34 | public: 35 | LogFileImpl(const std::string& path); 36 | ~LogFileImpl(); 37 | void writeImpl(const std::string& text, bool flush); 38 | UInt64 sizeImpl() const; 39 | Timestamp creationDateImpl() const; 40 | const std::string& pathImpl() const; 41 | 42 | private: 43 | std::string _path; 44 | mutable Poco::FileOutputStream _str; 45 | Timestamp _creationDate; 46 | }; 47 | 48 | 49 | } // namespace Poco 50 | 51 | 52 | #endif // Foundation_LogFile_STD_INCLUDED 53 | -------------------------------------------------------------------------------- /ext/include/Poco/LogFile_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // LogFile_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: LogFile 7 | // 8 | // Definition of the LogFileImpl class using the Windows file APIs. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_LogFile_WIN32_INCLUDED 18 | #define Foundation_LogFile_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Timestamp.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API LogFileImpl 30 | /// The implementation of LogFile for Windows. 31 | /// The native filesystem APIs are used for 32 | /// total control over locking behavior. 33 | { 34 | public: 35 | LogFileImpl(const std::string& path); 36 | ~LogFileImpl(); 37 | void writeImpl(const std::string& text, bool flush); 38 | UInt64 sizeImpl() const; 39 | Timestamp creationDateImpl() const; 40 | const std::string& pathImpl() const; 41 | 42 | private: 43 | void createFile(); 44 | 45 | std::string _path; 46 | HANDLE _hFile; 47 | Timestamp _creationDate; 48 | }; 49 | 50 | 51 | } // namespace Poco 52 | 53 | 54 | #endif // Foundation_LogFile_WIN32_INCLUDED 55 | -------------------------------------------------------------------------------- /ext/include/Poco/LogFile_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // LogFile_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: LogFile 7 | // 8 | // Definition of the LogFileImpl class using the Windows file APIs. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_LogFile_WIN32U_INCLUDED 18 | #define Foundation_LogFile_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Timestamp.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API LogFileImpl 30 | /// The implementation of LogFile for Windows. 31 | /// The native filesystem APIs are used for 32 | /// total control over locking behavior. 33 | { 34 | public: 35 | LogFileImpl(const std::string& path); 36 | ~LogFileImpl(); 37 | void writeImpl(const std::string& text, bool flush); 38 | UInt64 sizeImpl() const; 39 | Timestamp creationDateImpl() const; 40 | const std::string& pathImpl() const; 41 | 42 | private: 43 | void createFile(); 44 | 45 | std::string _path; 46 | HANDLE _hFile; 47 | Timestamp _creationDate; 48 | }; 49 | 50 | 51 | } // namespace Poco 52 | 53 | 54 | #endif // Foundation_LogFile_WIN32U_INCLUDED 55 | -------------------------------------------------------------------------------- /ext/include/Poco/Mutex_WINCE.h: -------------------------------------------------------------------------------- 1 | // 2 | // Mutex_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Mutex 7 | // 8 | // Definition of the MutexImpl and FastMutexImpl classes for WIN32. 9 | // 10 | // Copyright (c) 2004-2010, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Mutex_WINCE_INCLUDED 18 | #define Foundation_Mutex_WINCE_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API MutexImpl 30 | { 31 | protected: 32 | MutexImpl(); 33 | ~MutexImpl(); 34 | void lockImpl(); 35 | bool tryLockImpl(); 36 | bool tryLockImpl(long milliseconds); 37 | void unlockImpl(); 38 | 39 | private: 40 | HANDLE _mutex; 41 | }; 42 | 43 | 44 | typedef MutexImpl FastMutexImpl; 45 | 46 | 47 | } // namespace Poco 48 | 49 | 50 | #endif // Foundation_Mutex_WINCE_INCLUDED 51 | -------------------------------------------------------------------------------- /ext/include/Poco/NamedEvent_Android.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedEvent_Android.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedEvent 7 | // 8 | // Definition of the NamedEventImpl class for Android. 9 | // 10 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedEvent_Android_INCLUDED 18 | #define Foundation_NamedEvent_Android_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API NamedEventImpl 28 | { 29 | protected: 30 | NamedEventImpl(const std::string& name); 31 | ~NamedEventImpl(); 32 | void setImpl(); 33 | void waitImpl(); 34 | }; 35 | 36 | 37 | } // namespace Poco 38 | 39 | 40 | #endif // Foundation_NamedEvent_Android_INCLUDED 41 | -------------------------------------------------------------------------------- /ext/include/Poco/NamedEvent_UNIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedEvent_UNIX.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedEvent 7 | // 8 | // Definition of the NamedEventImpl class for Unix. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedEvent_UNIX_INCLUDED 18 | #define Foundation_NamedEvent_UNIX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) 23 | #include 24 | #endif 25 | 26 | 27 | namespace Poco { 28 | 29 | 30 | class Foundation_API NamedEventImpl 31 | { 32 | protected: 33 | NamedEventImpl(const std::string& name); 34 | ~NamedEventImpl(); 35 | void setImpl(); 36 | void waitImpl(); 37 | 38 | private: 39 | std::string getFileName(); 40 | 41 | std::string _name; 42 | #if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) 43 | sem_t* _sem; 44 | #else 45 | int _semid; // semaphore id 46 | #endif 47 | }; 48 | 49 | 50 | } // namespace Poco 51 | 52 | 53 | #endif // Foundation_NamedEvent_UNIX_INCLUDED 54 | -------------------------------------------------------------------------------- /ext/include/Poco/NamedEvent_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedEvent_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedEvent 7 | // 8 | // Definition of the NamedEventImpl class for Windows. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedEvent_WIN32_INCLUDED 18 | #define Foundation_NamedEvent_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/UnWindows.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API NamedEventImpl 29 | { 30 | protected: 31 | NamedEventImpl(const std::string& name); 32 | ~NamedEventImpl(); 33 | void setImpl(); 34 | void waitImpl(); 35 | 36 | private: 37 | std::string _name; 38 | HANDLE _event; 39 | }; 40 | 41 | 42 | } // namespace Poco 43 | 44 | 45 | #endif // Foundation_NamedEvent_WIN32_INCLUDED 46 | -------------------------------------------------------------------------------- /ext/include/Poco/NamedEvent_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedEvent_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedEvent 7 | // 8 | // Definition of the NamedEventImpl class for Windows. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedEvent_WIN32U_INCLUDED 18 | #define Foundation_NamedEvent_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/UnWindows.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API NamedEventImpl 29 | { 30 | protected: 31 | NamedEventImpl(const std::string& name); 32 | ~NamedEventImpl(); 33 | void setImpl(); 34 | void waitImpl(); 35 | 36 | private: 37 | std::string _name; 38 | std::wstring _uname; 39 | HANDLE _event; 40 | }; 41 | 42 | 43 | } // namespace Poco 44 | 45 | 46 | #endif // Foundation_NamedEvent_WIN32U_INCLUDED 47 | -------------------------------------------------------------------------------- /ext/include/Poco/NamedMutex_Android.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedMutex_Android.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedMutex 7 | // 8 | // Definition of the NamedMutexImpl class for Android. 9 | // 10 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedMutex_Android_INCLUDED 18 | #define Foundation_NamedMutex_Android_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API NamedMutexImpl 28 | { 29 | protected: 30 | NamedMutexImpl(const std::string& name); 31 | ~NamedMutexImpl(); 32 | void lockImpl(); 33 | bool tryLockImpl(); 34 | void unlockImpl(); 35 | }; 36 | 37 | 38 | } // namespace Poco 39 | 40 | 41 | #endif // Foundation_NamedMutex_Android_INCLUDED 42 | -------------------------------------------------------------------------------- /ext/include/Poco/NamedMutex_UNIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedMutex_UNIX.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedMutex 7 | // 8 | // Definition of the NamedMutexImpl class for Unix. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedMutex_UNIX_INCLUDED 18 | #define Foundation_NamedMutex_UNIX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | #include 24 | #if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) 25 | #include 26 | #endif 27 | 28 | 29 | namespace Poco { 30 | 31 | 32 | class Foundation_API NamedMutexImpl 33 | { 34 | protected: 35 | NamedMutexImpl(const std::string& name); 36 | ~NamedMutexImpl(); 37 | void lockImpl(); 38 | bool tryLockImpl(); 39 | void unlockImpl(); 40 | 41 | private: 42 | std::string getFileName(); 43 | 44 | std::string _name; 45 | #if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) 46 | sem_t* _sem; 47 | #else 48 | int _semid; // semaphore id 49 | bool _owned; 50 | #endif 51 | }; 52 | 53 | 54 | } // namespace Poco 55 | 56 | 57 | #endif // Foundation_NamedMutex_UNIX_INCLUDED 58 | -------------------------------------------------------------------------------- /ext/include/Poco/NamedMutex_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedMutex_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedMutex 7 | // 8 | // Definition of the NamedMutexImpl class for Windows. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedMutex_WIN32_INCLUDED 18 | #define Foundation_NamedMutex_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/UnWindows.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API NamedMutexImpl 29 | { 30 | protected: 31 | NamedMutexImpl(const std::string& name); 32 | ~NamedMutexImpl(); 33 | void lockImpl(); 34 | bool tryLockImpl(); 35 | void unlockImpl(); 36 | 37 | private: 38 | std::string _name; 39 | HANDLE _mutex; 40 | }; 41 | 42 | 43 | } // namespace Poco 44 | 45 | 46 | #endif // Foundation_NamedMutex_WIN32_INCLUDED 47 | -------------------------------------------------------------------------------- /ext/include/Poco/NamedMutex_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedMutex_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedMutex 7 | // 8 | // Definition of the NamedMutexImpl class for Windows. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedMutex_WIN32U_INCLUDED 18 | #define Foundation_NamedMutex_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/UnWindows.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API NamedMutexImpl 29 | { 30 | protected: 31 | NamedMutexImpl(const std::string& name); 32 | ~NamedMutexImpl(); 33 | void lockImpl(); 34 | bool tryLockImpl(); 35 | void unlockImpl(); 36 | 37 | private: 38 | std::string _name; 39 | std::wstring _uname; 40 | HANDLE _mutex; 41 | }; 42 | 43 | 44 | } // namespace Poco 45 | 46 | 47 | #endif // Foundation_NamedMutex_WIN32U_INCLUDED 48 | -------------------------------------------------------------------------------- /ext/include/Poco/Net/DatagramSocketImpl.h: -------------------------------------------------------------------------------- 1 | // 2 | // DatagramSocketImpl.h 3 | // 4 | // Library: Net 5 | // Package: Sockets 6 | // Module: DatagramSocketImpl 7 | // 8 | // Definition of the DatagramSocketImpl class. 9 | // 10 | // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Net_DatagramSocketImpl_INCLUDED 18 | #define Net_DatagramSocketImpl_INCLUDED 19 | 20 | 21 | #include "Poco/Net/Net.h" 22 | #include "Poco/Net/SocketImpl.h" 23 | 24 | 25 | namespace Poco { 26 | namespace Net { 27 | 28 | 29 | class Net_API DatagramSocketImpl: public SocketImpl 30 | /// This class implements an UDP socket. 31 | { 32 | public: 33 | DatagramSocketImpl(); 34 | /// Creates an unconnected, unbound datagram socket. 35 | 36 | explicit DatagramSocketImpl(SocketAddress::Family family); 37 | /// Creates an unconnected datagram socket. 38 | /// 39 | /// The socket will be created for the 40 | /// given address family. 41 | 42 | DatagramSocketImpl(poco_socket_t sockfd); 43 | /// Creates a StreamSocketImpl using the given native socket. 44 | 45 | protected: 46 | void init(int af); 47 | 48 | ~DatagramSocketImpl(); 49 | }; 50 | 51 | 52 | } } // namespace Poco::Net 53 | 54 | 55 | #endif // Net_DatagramSocketImpl_INCLUDED 56 | -------------------------------------------------------------------------------- /ext/include/Poco/Net/HTTPBasicStreamBuf.h: -------------------------------------------------------------------------------- 1 | // 2 | // HTTPBasicStreamBuf.h 3 | // 4 | // Library: Net 5 | // Package: HTTP 6 | // Module: HTTPBasicStreamBuf 7 | // 8 | // Definition of the HTTPBasicStreamBuf class. 9 | // 10 | // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Net_HTTPBasicStreamBuf_INCLUDED 18 | #define Net_HTTPBasicStreamBuf_INCLUDED 19 | 20 | 21 | #include "Poco/Net/Net.h" 22 | #include "Poco/BufferedStreamBuf.h" 23 | #include "Poco/Net/HTTPBufferAllocator.h" 24 | 25 | 26 | namespace Poco { 27 | namespace Net { 28 | 29 | 30 | typedef Poco::BasicBufferedStreamBuf, HTTPBufferAllocator> HTTPBasicStreamBuf; 31 | 32 | 33 | } } // namespace Poco::Net 34 | 35 | 36 | #endif // Net_HTTPBasicStreamBuf_INCLUDED 37 | -------------------------------------------------------------------------------- /ext/include/Poco/Net/HTTPBufferAllocator.h: -------------------------------------------------------------------------------- 1 | // 2 | // HTTPBufferAllocator.h 3 | // 4 | // Library: Net 5 | // Package: HTTP 6 | // Module: HTTPBufferAllocator 7 | // 8 | // Definition of the HTTPBufferAllocator class. 9 | // 10 | // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Net_HTTPBufferAllocator_INCLUDED 18 | #define Net_HTTPBufferAllocator_INCLUDED 19 | 20 | 21 | #include "Poco/Net/Net.h" 22 | #include "Poco/MemoryPool.h" 23 | #include 24 | 25 | 26 | namespace Poco { 27 | namespace Net { 28 | 29 | 30 | class Net_API HTTPBufferAllocator 31 | /// A BufferAllocator for HTTP streams. 32 | { 33 | public: 34 | static char* allocate(std::streamsize size); 35 | static void deallocate(char* ptr, std::streamsize size); 36 | 37 | enum 38 | { 39 | BUFFER_SIZE = 4096 40 | }; 41 | 42 | private: 43 | static Poco::MemoryPool _pool; 44 | }; 45 | 46 | 47 | } } // namespace Poco::Net 48 | 49 | 50 | #endif // Net_HTTPBufferAllocator_INCLUDED 51 | -------------------------------------------------------------------------------- /ext/include/Poco/Net/NullPartHandler.h: -------------------------------------------------------------------------------- 1 | // 2 | // NullPartHandler.h 3 | // 4 | // Library: Net 5 | // Package: Messages 6 | // Module: NullPartHandler 7 | // 8 | // Definition of the NullPartHandler class. 9 | // 10 | // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Net_NullPartHandler_INCLUDED 18 | #define Net_NullPartHandler_INCLUDED 19 | 20 | 21 | #include "Poco/Net/Net.h" 22 | #include "Poco/Net/PartHandler.h" 23 | 24 | 25 | namespace Poco { 26 | namespace Net { 27 | 28 | 29 | class Net_API NullPartHandler: public PartHandler 30 | /// A very special PartHandler that simply discards all data. 31 | { 32 | public: 33 | NullPartHandler(); 34 | /// Creates the NullPartHandler. 35 | 36 | ~NullPartHandler(); 37 | /// Destroys the NullPartHandler. 38 | 39 | void handlePart(const MessageHeader& header, std::istream& stream); 40 | /// Reads and discards all data from the stream. 41 | }; 42 | 43 | 44 | } } // namespace Poco::Net 45 | 46 | 47 | #endif // Net_NullPartHandler_INCLUDED 48 | -------------------------------------------------------------------------------- /ext/include/Poco/Net/RawSocketImpl.h: -------------------------------------------------------------------------------- 1 | // 2 | // RawSocketImpl.h 3 | // 4 | // Library: Net 5 | // Package: Sockets 6 | // Module: RawSocketImpl 7 | // 8 | // Definition of the RawSocketImpl class. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Net_RawSocketImpl_INCLUDED 18 | #define Net_RawSocketImpl_INCLUDED 19 | 20 | 21 | #include "Poco/Net/Net.h" 22 | #include "Poco/Net/SocketImpl.h" 23 | 24 | 25 | namespace Poco { 26 | namespace Net { 27 | 28 | 29 | class Net_API RawSocketImpl: public SocketImpl 30 | /// This class implements a raw socket. 31 | { 32 | public: 33 | RawSocketImpl(); 34 | /// Creates an unconnected IPv4 raw socket with IPPROTO_RAW. 35 | 36 | RawSocketImpl(SocketAddress::Family family, int proto = IPPROTO_RAW); 37 | /// Creates an unconnected raw socket. 38 | /// 39 | /// The socket will be created for the 40 | /// given address family. 41 | 42 | RawSocketImpl(poco_socket_t sockfd); 43 | /// Creates a RawSocketImpl using the given native socket. 44 | 45 | protected: 46 | void init(int af); 47 | void init2(int af, int proto); 48 | 49 | ~RawSocketImpl(); 50 | }; 51 | 52 | 53 | } } // namespace Poco::Net 54 | 55 | 56 | #endif // Net_RawSocketImpl_INCLUDED 57 | -------------------------------------------------------------------------------- /ext/include/Poco/Net/ServerSocketImpl.h: -------------------------------------------------------------------------------- 1 | // 2 | // ServerSocketImpl.h 3 | // 4 | // Library: Net 5 | // Package: Sockets 6 | // Module: ServerSocketImpl 7 | // 8 | // Definition of the ServerSocketImpl class. 9 | // 10 | // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Net_ServerSocketImpl_INCLUDED 18 | #define Net_ServerSocketImpl_INCLUDED 19 | 20 | 21 | #include "Poco/Net/Net.h" 22 | #include "Poco/Net/SocketImpl.h" 23 | 24 | 25 | namespace Poco { 26 | namespace Net { 27 | 28 | 29 | class Net_API ServerSocketImpl: public SocketImpl 30 | /// This class implements a TCP server socket. 31 | { 32 | public: 33 | ServerSocketImpl(); 34 | /// Creates the ServerSocketImpl. 35 | 36 | protected: 37 | virtual ~ServerSocketImpl(); 38 | /// Destroys the ServerSocketImpl. 39 | }; 40 | 41 | 42 | } } // namespace Poco::Net 43 | 44 | 45 | #endif // Net_ServerSocketImpl_INCLUDED 46 | -------------------------------------------------------------------------------- /ext/include/Poco/Notification.h: -------------------------------------------------------------------------------- 1 | // 2 | // Notification.h 3 | // 4 | // Library: Foundation 5 | // Package: Notifications 6 | // Module: Notification 7 | // 8 | // Definition of the Notification class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Notification_INCLUDED 18 | #define Foundation_Notification_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | #include "Poco/RefCountedObject.h" 24 | #include "Poco/AutoPtr.h" 25 | 26 | 27 | namespace Poco { 28 | 29 | 30 | class Foundation_API Notification: public RefCountedObject 31 | /// The base class for all notification classes used 32 | /// with the NotificationCenter and the NotificationQueue 33 | /// classes. 34 | /// The Notification class can be used with the AutoPtr 35 | /// template class. 36 | { 37 | public: 38 | typedef AutoPtr Ptr; 39 | 40 | Notification(); 41 | /// Creates the notification. 42 | 43 | virtual std::string name() const; 44 | /// Returns the name of the notification. 45 | /// The default implementation returns the class name. 46 | 47 | protected: 48 | virtual ~Notification(); 49 | }; 50 | 51 | 52 | } // namespace Poco 53 | 54 | 55 | #endif // Foundation_Notification_INCLUDED 56 | -------------------------------------------------------------------------------- /ext/include/Poco/NullChannel.h: -------------------------------------------------------------------------------- 1 | // 2 | // NullChannel.h 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: NullChannel 7 | // 8 | // Definition of the NullChannel class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NullChannel_INCLUDED 18 | #define Foundation_NullChannel_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Channel.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API NullChannel: public Channel 29 | /// The NullChannel is the /dev/null of Channels. 30 | /// 31 | /// A NullChannel discards all information sent to it. 32 | /// Furthermore, its setProperty() method ignores 33 | /// all properties, so it the NullChannel has the 34 | /// nice feature that it can stand in for any 35 | /// other channel class in a logging configuration. 36 | { 37 | public: 38 | NullChannel(); 39 | /// Creates the NullChannel. 40 | 41 | ~NullChannel(); 42 | /// Destroys the NullChannel. 43 | 44 | void log(const Message& msg); 45 | /// Does nothing. 46 | 47 | void setProperty(const std::string& name, const std::string& value); 48 | /// Ignores both name and value. 49 | }; 50 | 51 | 52 | } // namespace Poco 53 | 54 | 55 | #endif // Foundation_NullChannel_INCLUDED 56 | -------------------------------------------------------------------------------- /ext/include/Poco/Path_UNIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // Path_UNIX.h 3 | // 4 | // Library: Foundation 5 | // Package: Filesystem 6 | // Module: Path 7 | // 8 | // Definition of the PathImpl class fo rUnix. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Path_UNIX_INCLUDED 18 | #define Foundation_Path_UNIX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class PathImpl 29 | { 30 | public: 31 | static std::string currentImpl(); 32 | static std::string homeImpl(); 33 | static std::string tempImpl(); 34 | static std::string nullImpl(); 35 | static std::string expandImpl(const std::string& path); 36 | static void listRootsImpl(std::vector& roots); 37 | }; 38 | 39 | 40 | } // namespace Poco 41 | 42 | 43 | #endif // Foundation_Path_UNIX_INCLUDED 44 | -------------------------------------------------------------------------------- /ext/include/Poco/Path_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // Path_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Filesystem 6 | // Module: Path 7 | // 8 | // Definition of the PathImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Path_WIN32_INCLUDED 18 | #define Foundation_Path_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API PathImpl 29 | { 30 | public: 31 | static std::string currentImpl(); 32 | static std::string homeImpl(); 33 | static std::string tempImpl(); 34 | static std::string nullImpl(); 35 | static std::string systemImpl(); 36 | static std::string expandImpl(const std::string& path); 37 | static void listRootsImpl(std::vector& roots); 38 | }; 39 | 40 | 41 | } // namespace Poco 42 | 43 | 44 | #endif // Foundation_Path_WIN32_INCLUDED 45 | -------------------------------------------------------------------------------- /ext/include/Poco/Path_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // Path_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: Filesystem 6 | // Module: Path 7 | // 8 | // Definition of the PathImpl class for WIN32. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Path_WIN32U_INCLUDED 18 | #define Foundation_Path_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API PathImpl 29 | { 30 | public: 31 | static std::string currentImpl(); 32 | static std::string homeImpl(); 33 | static std::string tempImpl(); 34 | static std::string nullImpl(); 35 | static std::string systemImpl(); 36 | static std::string expandImpl(const std::string& path); 37 | static void listRootsImpl(std::vector& roots); 38 | 39 | enum 40 | { 41 | MAX_PATH_LEN = 32767 42 | }; 43 | }; 44 | 45 | 46 | } // namespace Poco 47 | 48 | 49 | #endif // Foundation_Path_WIN32U_INCLUDED 50 | -------------------------------------------------------------------------------- /ext/include/Poco/Path_WINCE.h: -------------------------------------------------------------------------------- 1 | // 2 | // Path_WINCE.h 3 | // 4 | // Library: Foundation 5 | // Package: Filesystem 6 | // Module: Path 7 | // 8 | // Definition of the PathImpl class for WIN32. 9 | // 10 | // Copyright (c) 2006-2010, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Path_WINCE_INCLUDED 18 | #define Foundation_Path_WINCE_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API PathImpl 29 | { 30 | public: 31 | static std::string currentImpl(); 32 | static std::string homeImpl(); 33 | static std::string configHomeImpl(); 34 | static std::string dataHomeImpl(); 35 | static std::string cacheHomeImpl(); 36 | static std::string tempHomeImpl(); 37 | static std::string tempImpl(); 38 | static std::string configImpl(); 39 | static std::string nullImpl(); 40 | static std::string systemImpl(); 41 | static std::string expandImpl(const std::string& path); 42 | static void listRootsImpl(std::vector& roots); 43 | 44 | enum 45 | { 46 | MAX_PATH_LEN = 32767 47 | }; 48 | }; 49 | 50 | 51 | } // namespace Poco 52 | 53 | 54 | #endif // Foundation_Path_WINCE_INCLUDED 55 | -------------------------------------------------------------------------------- /ext/include/Poco/PipeImpl.h: -------------------------------------------------------------------------------- 1 | // 2 | // PipeImpl.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: PipeImpl 7 | // 8 | // Definition of the PipeImpl class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_PipeImpl_INCLUDED 18 | #define Foundation_PipeImpl_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | #if defined(POCO_OS_FAMILY_WINDOWS) 25 | #if defined(_WIN32_WCE) 26 | #include "PipeImpl_DUMMY.h" 27 | #else 28 | #include "Poco/PipeImpl_WIN32.h" 29 | #endif 30 | #elif defined(POCO_OS_FAMILY_UNIX) 31 | #include "Poco/PipeImpl_POSIX.h" 32 | #else 33 | #include "Poco/PipeImpl_DUMMY.h" 34 | #endif 35 | 36 | 37 | #endif // Foundation_PipeImpl_INCLUDED 38 | -------------------------------------------------------------------------------- /ext/include/Poco/PipeImpl_DUMMY.h: -------------------------------------------------------------------------------- 1 | // 2 | // PipeImpl_DUMMY.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: PipeImpl 7 | // 8 | // Definition of the PipeImpl_DUMMY class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_PipeImpl_DUMMY_INCLUDED 18 | #define Foundation_PipeImpl_DUMMY_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/RefCountedObject.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API PipeImpl: public RefCountedObject 29 | /// A dummy implementation of PipeImpl for platforms 30 | /// that do not support pipes. 31 | { 32 | public: 33 | typedef int Handle; 34 | 35 | PipeImpl(); 36 | ~PipeImpl(); 37 | int writeBytes(const void* buffer, int length); 38 | int readBytes(void* buffer, int length); 39 | Handle readHandle() const; 40 | Handle writeHandle() const; 41 | void closeRead(); 42 | void closeWrite(); 43 | }; 44 | 45 | 46 | } // namespace Poco 47 | 48 | 49 | #endif // Foundation_PipeImpl_DUMMY_INCLUDED 50 | -------------------------------------------------------------------------------- /ext/include/Poco/PipeImpl_POSIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // PipeImpl_POSIX.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: PipeImpl 7 | // 8 | // Definition of the PipeImpl class for POSIX. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_PipeImpl_POSIX_INCLUDED 18 | #define Foundation_PipeImpl_POSIX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/RefCountedObject.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API PipeImpl: public RefCountedObject 29 | /// A dummy implementation of PipeImpl for platforms 30 | /// that do not support pipes. 31 | { 32 | public: 33 | typedef int Handle; 34 | 35 | PipeImpl(); 36 | ~PipeImpl(); 37 | int writeBytes(const void* buffer, int length); 38 | int readBytes(void* buffer, int length); 39 | Handle readHandle() const; 40 | Handle writeHandle() const; 41 | void closeRead(); 42 | void closeWrite(); 43 | 44 | private: 45 | int _readfd; 46 | int _writefd; 47 | }; 48 | 49 | 50 | } // namespace Poco 51 | 52 | 53 | #endif // Foundation_PipeImpl_POSIX_INCLUDED 54 | -------------------------------------------------------------------------------- /ext/include/Poco/PipeImpl_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // PipeImpl_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: PipeImpl 7 | // 8 | // Definition of the PipeImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_PipeImpl_WIN32_INCLUDED 18 | #define Foundation_PipeImpl_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/RefCountedObject.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API PipeImpl: public RefCountedObject 30 | /// A dummy implementation of PipeImpl for platforms 31 | /// that do not support pipes. 32 | { 33 | public: 34 | typedef HANDLE Handle; 35 | 36 | PipeImpl(); 37 | ~PipeImpl(); 38 | int writeBytes(const void* buffer, int length); 39 | int readBytes(void* buffer, int length); 40 | Handle readHandle() const; 41 | Handle writeHandle() const; 42 | void closeRead(); 43 | void closeWrite(); 44 | 45 | private: 46 | HANDLE _readHandle; 47 | HANDLE _writeHandle; 48 | }; 49 | 50 | 51 | } // namespace Poco 52 | 53 | 54 | #endif // Foundation_PipeImpl_WIN32_INCLUDED 55 | -------------------------------------------------------------------------------- /ext/include/Poco/Platform_POSIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // Platform_POSIX.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Platform 7 | // 8 | // Platform and architecture identification macros 9 | // and platform-specific definitions for various POSIX platforms 10 | // 11 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 12 | // and Contributors. 13 | // 14 | // SPDX-License-Identifier: BSL-1.0 15 | // 16 | 17 | 18 | #ifndef Foundation_Platform_POSIX_INCLUDED 19 | #define Foundation_Platform_POSIX_INCLUDED 20 | 21 | 22 | // 23 | // PA-RISC based HP-UX platforms have some issues... 24 | // 25 | #if defined(hpux) || defined(_hpux) 26 | #if defined(__hppa) || defined(__hppa__) 27 | #define POCO_NO_SYS_SELECT_H 1 28 | #if defined(__HP_aCC) 29 | #define POCO_NO_TEMPLATE_ICOMPARE 1 30 | #endif 31 | #endif 32 | #endif 33 | 34 | 35 | // 36 | // Thread-safety of local static initialization 37 | // 38 | #if __cplusplus >= 201103L || __GNUC__ >= 4 || defined(__clang__) 39 | #ifndef POCO_LOCAL_STATIC_INIT_IS_THREADSAFE 40 | #define POCO_LOCAL_STATIC_INIT_IS_THREADSAFE 1 41 | #endif 42 | #endif 43 | 44 | 45 | // 46 | // No syslog.h on QNX/BB10 47 | // 48 | #if defined(__QNXNTO__) 49 | #define POCO_NO_SYSLOGCHANNEL 50 | #endif 51 | 52 | 53 | #endif // Foundation_Platform_POSIX_INCLUDED 54 | -------------------------------------------------------------------------------- /ext/include/Poco/Platform_VX.h: -------------------------------------------------------------------------------- 1 | // 2 | // Platform_VX.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Platform 7 | // 8 | // Platform and architecture identification macros 9 | // and platform-specific definitions for VxWorks 10 | // 11 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 12 | // and Contributors. 13 | // 14 | // SPDX-License-Identifier: BSL-1.0 15 | // 16 | 17 | 18 | #ifndef Foundation_Platform_VX_INCLUDED 19 | #define Foundation_Platform_VX_INCLUDED 20 | 21 | 22 | #define POCO_NO_SYS_SELECT_H 23 | #define POCO_NO_FPENVIRONMENT 24 | #define POCO_NO_WSTRING 25 | #define POCO_NO_SHAREDMEMORY 26 | #define POCO_NO_SYSLOGCHANNEL 27 | 28 | 29 | #endif // Foundation_Platform_VX_INCLUDED 30 | -------------------------------------------------------------------------------- /ext/include/Poco/Poco.h: -------------------------------------------------------------------------------- 1 | // 2 | // Poco.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Foundation 7 | // 8 | // Basic definitions for the POCO libraries. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Poco_INCLUDED 18 | #define Foundation_Poco_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | #endif // Foundation_Poco_INCLUDED 25 | -------------------------------------------------------------------------------- /ext/include/Poco/RWLock_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // RWLock_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: RWLock 7 | // 8 | // Definition of the RWLockImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_RWLock_WIN32_INCLUDED 18 | #define Foundation_RWLock_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API RWLockImpl 30 | { 31 | protected: 32 | RWLockImpl(); 33 | ~RWLockImpl(); 34 | void readLockImpl(); 35 | bool tryReadLockImpl(); 36 | void writeLockImpl(); 37 | bool tryWriteLockImpl(); 38 | void unlockImpl(); 39 | 40 | private: 41 | void addWriter(); 42 | void removeWriter(); 43 | DWORD tryReadLockOnce(); 44 | 45 | HANDLE _mutex; 46 | HANDLE _readEvent; 47 | HANDLE _writeEvent; 48 | unsigned _readers; 49 | unsigned _writersWaiting; 50 | unsigned _writers; 51 | }; 52 | 53 | 54 | } // namespace Poco 55 | 56 | 57 | #endif // Foundation_RWLock_WIN32_INCLUDED 58 | -------------------------------------------------------------------------------- /ext/include/Poco/Runnable.h: -------------------------------------------------------------------------------- 1 | // 2 | // Runnable.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Thread 7 | // 8 | // Definition of the Runnable class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Runnable_INCLUDED 18 | #define Foundation_Runnable_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API Runnable 28 | /// The Runnable interface with the run() method 29 | /// must be implemented by classes that provide 30 | /// an entry point for a thread. 31 | { 32 | public: 33 | Runnable(); 34 | virtual ~Runnable(); 35 | 36 | virtual void run() = 0; 37 | /// Do whatever the thread needs to do. Must 38 | /// be overridden by subclasses. 39 | }; 40 | 41 | 42 | } // namespace Poco 43 | 44 | 45 | #endif // Foundation_Runnable_INCLUDED 46 | -------------------------------------------------------------------------------- /ext/include/Poco/ScopedUnlock.h: -------------------------------------------------------------------------------- 1 | // 2 | // ScopedUnlock.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Mutex 7 | // 8 | // Definition of the ScopedUnlock template class. 9 | // 10 | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_ScopedUnlock_INCLUDED 18 | #define Foundation_ScopedUnlock_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | template 28 | class ScopedUnlock 29 | /// A class that simplifies thread synchronization 30 | /// with a mutex. 31 | /// The constructor accepts a Mutex and unlocks it. 32 | /// The destructor locks the mutex. 33 | { 34 | public: 35 | inline ScopedUnlock(M& mutex, bool unlockNow = true): _mutex(mutex) 36 | { 37 | if (unlockNow) 38 | _mutex.unlock(); 39 | } 40 | inline ~ScopedUnlock() 41 | { 42 | try 43 | { 44 | _mutex.lock(); 45 | } 46 | catch (...) 47 | { 48 | poco_unexpected(); 49 | } 50 | } 51 | 52 | private: 53 | M& _mutex; 54 | 55 | ScopedUnlock(); 56 | ScopedUnlock(const ScopedUnlock&); 57 | ScopedUnlock& operator = (const ScopedUnlock&); 58 | }; 59 | 60 | 61 | } // namespace Poco 62 | 63 | 64 | #endif // Foundation_ScopedUnlock_INCLUDED 65 | -------------------------------------------------------------------------------- /ext/include/Poco/Semaphore_VX.h: -------------------------------------------------------------------------------- 1 | // 2 | // Semaphore_VX.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Semaphore 7 | // 8 | // Definition of the SemaphoreImpl class for VxWorks. 9 | // 10 | // Copyright (c) 2004-20011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Semaphore_VX_INCLUDED 18 | #define Foundation_Semaphore_VX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API SemaphoreImpl 30 | { 31 | protected: 32 | SemaphoreImpl(int n, int max); 33 | ~SemaphoreImpl(); 34 | void setImpl(); 35 | void waitImpl(); 36 | bool waitImpl(long milliseconds); 37 | 38 | private: 39 | SEM_ID _sem; 40 | }; 41 | 42 | 43 | // 44 | // inlines 45 | // 46 | inline void SemaphoreImpl::setImpl() 47 | { 48 | if (semGive(_sem) != OK) 49 | throw SystemException("cannot signal semaphore"); 50 | } 51 | 52 | 53 | } // namespace Poco 54 | 55 | 56 | #endif // Foundation_Semaphore_VX_INCLUDED 57 | -------------------------------------------------------------------------------- /ext/include/Poco/Semaphore_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // Semaphore_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Semaphore 7 | // 8 | // Definition of the SemaphoreImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Semaphore_WIN32_INCLUDED 18 | #define Foundation_Semaphore_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API SemaphoreImpl 30 | { 31 | protected: 32 | SemaphoreImpl(int n, int max); 33 | ~SemaphoreImpl(); 34 | void setImpl(); 35 | void waitImpl(); 36 | bool waitImpl(long milliseconds); 37 | 38 | private: 39 | HANDLE _sema; 40 | }; 41 | 42 | 43 | // 44 | // inlines 45 | // 46 | inline void SemaphoreImpl::setImpl() 47 | { 48 | if (!ReleaseSemaphore(_sema, 1, NULL)) 49 | { 50 | throw SystemException("cannot signal semaphore"); 51 | } 52 | } 53 | 54 | 55 | } // namespace Poco 56 | 57 | 58 | #endif // Foundation_Semaphore_WIN32_INCLUDED 59 | -------------------------------------------------------------------------------- /ext/include/Poco/SharedLibrary_HPUX.h: -------------------------------------------------------------------------------- 1 | // 2 | // SharedLibrary_HPUX.h 3 | // 4 | // Library: Foundation 5 | // Package: SharedLibrary 6 | // Module: SharedLibrary 7 | // 8 | // Definition of the SharedLibraryImpl class for HP-UX. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_SharedLibrary_HPUX_INCLUDED 18 | #define Foundation_SharedLibrary_HPUX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | #include 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API SharedLibraryImpl 30 | { 31 | protected: 32 | SharedLibraryImpl(); 33 | ~SharedLibraryImpl(); 34 | void loadImpl(const std::string& path, int flags); 35 | void unloadImpl(); 36 | bool isLoadedImpl() const; 37 | void* findSymbolImpl(const std::string& name); 38 | const std::string& getPathImpl() const; 39 | static std::string suffixImpl(); 40 | 41 | private: 42 | std::string _path; 43 | shl_t _handle; 44 | static FastMutex _mutex; 45 | }; 46 | 47 | 48 | } // namespace Poco 49 | 50 | 51 | #endif // Foundation_SharedLibrary_HPUX_INCLUDED 52 | -------------------------------------------------------------------------------- /ext/include/Poco/SharedLibrary_UNIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // SharedLibrary_UNIX.h 3 | // 4 | // Library: Foundation 5 | // Package: SharedLibrary 6 | // Module: SharedLibrary 7 | // 8 | // Definition of the SharedLibraryImpl class for UNIX (dlopen). 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_SharedLibrary_UNIX_INCLUDED 18 | #define Foundation_SharedLibrary_UNIX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API SharedLibraryImpl 29 | { 30 | protected: 31 | enum Flags 32 | { 33 | SHLIB_GLOBAL_IMPL = 1, 34 | SHLIB_LOCAL_IMPL = 2 35 | }; 36 | 37 | SharedLibraryImpl(); 38 | ~SharedLibraryImpl(); 39 | void loadImpl(const std::string& path, int flags); 40 | void unloadImpl(); 41 | bool isLoadedImpl() const; 42 | void* findSymbolImpl(const std::string& name); 43 | const std::string& getPathImpl() const; 44 | static std::string suffixImpl(); 45 | 46 | private: 47 | std::string _path; 48 | void* _handle; 49 | static FastMutex _mutex; 50 | }; 51 | 52 | 53 | } // namespace Poco 54 | 55 | 56 | #endif // Foundation_SharedLibrary_UNIX_INCLUDED 57 | -------------------------------------------------------------------------------- /ext/include/Poco/SharedLibrary_VX.h: -------------------------------------------------------------------------------- 1 | // 2 | // SharedLibrary_VX.h 3 | // 4 | // Library: Foundation 5 | // Package: SharedLibrary 6 | // Module: SharedLibrary 7 | // 8 | // Definition of the SharedLibraryImpl class for VxWorks. 9 | // 10 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_SharedLibrary_VX_INCLUDED 18 | #define Foundation_SharedLibrary_VX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | #include 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API SharedLibraryImpl 30 | { 31 | protected: 32 | SharedLibraryImpl(); 33 | ~SharedLibraryImpl(); 34 | void loadImpl(const std::string& path, int flags); 35 | void unloadImpl(); 36 | bool isLoadedImpl() const; 37 | void* findSymbolImpl(const std::string& name); 38 | const std::string& getPathImpl() const; 39 | static std::string suffixImpl(); 40 | 41 | private: 42 | std::string _path; 43 | MODULE_ID _moduleId; 44 | static FastMutex _mutex; 45 | }; 46 | 47 | 48 | } // namespace Poco 49 | 50 | 51 | #endif // Foundation_SharedLibrary_VX_INCLUDED 52 | -------------------------------------------------------------------------------- /ext/include/Poco/SharedLibrary_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // SharedLibrary_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: SharedLibrary 6 | // Module: SharedLibrary 7 | // 8 | // Definition of the SharedLibraryImpl class for Win32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_SharedLibrary_WIN32_INCLUDED 18 | #define Foundation_SharedLibrary_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API SharedLibraryImpl 29 | { 30 | protected: 31 | SharedLibraryImpl(); 32 | ~SharedLibraryImpl(); 33 | void loadImpl(const std::string& path, int flags); 34 | void unloadImpl(); 35 | bool isLoadedImpl() const; 36 | void* findSymbolImpl(const std::string& name); 37 | const std::string& getPathImpl() const; 38 | static std::string suffixImpl(); 39 | 40 | private: 41 | std::string _path; 42 | void* _handle; 43 | static FastMutex _mutex; 44 | }; 45 | 46 | 47 | } // namespace Poco 48 | 49 | 50 | #endif // Foundation_SharedLibrary_WIN32_INCLUDED 51 | -------------------------------------------------------------------------------- /ext/include/Poco/SharedLibrary_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // SharedLibrary_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: SharedLibrary 6 | // Module: SharedLibrary 7 | // 8 | // Definition of the SharedLibraryImpl class for Win32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_SharedLibrary_WIN32U_INCLUDED 18 | #define Foundation_SharedLibrary_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API SharedLibraryImpl 29 | { 30 | protected: 31 | SharedLibraryImpl(); 32 | ~SharedLibraryImpl(); 33 | void loadImpl(const std::string& path, int flags); 34 | void unloadImpl(); 35 | bool isLoadedImpl() const; 36 | void* findSymbolImpl(const std::string& name); 37 | const std::string& getPathImpl() const; 38 | static std::string suffixImpl(); 39 | 40 | private: 41 | std::string _path; 42 | void* _handle; 43 | static FastMutex _mutex; 44 | }; 45 | 46 | 47 | } // namespace Poco 48 | 49 | 50 | #endif // Foundation_SharedLibrary_WIN32U_INCLUDED 51 | -------------------------------------------------------------------------------- /ext/include/Poco/StreamChannel.h: -------------------------------------------------------------------------------- 1 | // 2 | // StreamChannel.h 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: StreamChannel 7 | // 8 | // Definition of the StreamChannel class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_StreamChannel_INCLUDED 18 | #define Foundation_StreamChannel_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Channel.h" 23 | #include "Poco/Mutex.h" 24 | #include 25 | 26 | 27 | namespace Poco { 28 | 29 | 30 | class Foundation_API StreamChannel: public Channel 31 | /// A channel that writes to an ostream. 32 | /// 33 | /// Only the message's text is written, followed 34 | /// by a newline. 35 | /// 36 | /// Chain this channel to a FormattingChannel with an 37 | /// appropriate Formatter to control what is contained 38 | /// in the text. 39 | { 40 | public: 41 | StreamChannel(std::ostream& str); 42 | /// Creates the channel. 43 | 44 | void log(const Message& msg); 45 | /// Logs the given message to the channel's stream. 46 | 47 | protected: 48 | virtual ~StreamChannel(); 49 | 50 | private: 51 | std::ostream& _str; 52 | FastMutex _mutex; 53 | }; 54 | 55 | 56 | } // namespace Poco 57 | 58 | 59 | #endif // Foundation_StreamChannel_INCLUDED 60 | -------------------------------------------------------------------------------- /ext/include/Poco/Util/IntValidator.h: -------------------------------------------------------------------------------- 1 | // 2 | // IntValidator.h 3 | // 4 | // Library: Util 5 | // Package: Options 6 | // Module: IntValidator 7 | // 8 | // Definition of the IntValidator class. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Util_IntValidator_INCLUDED 18 | #define Util_IntValidator_INCLUDED 19 | 20 | 21 | #include "Poco/Util/Util.h" 22 | #include "Poco/Util/Validator.h" 23 | 24 | 25 | namespace Poco { 26 | namespace Util { 27 | 28 | 29 | class Util_API IntValidator: public Validator 30 | /// The IntValidator tests whether the option argument, 31 | /// which must be an integer, lies within a given range. 32 | { 33 | public: 34 | IntValidator(int min, int max); 35 | /// Creates the IntValidator. 36 | 37 | ~IntValidator(); 38 | /// Destroys the IntValidator. 39 | 40 | void validate(const Option& option, const std::string& value); 41 | /// Validates the value for the given option by 42 | /// testing whether it's an integer that lies within 43 | /// a given range. 44 | 45 | private: 46 | IntValidator(); 47 | 48 | int _min; 49 | int _max; 50 | }; 51 | 52 | 53 | } } // namespace Poco::Util 54 | 55 | 56 | #endif // Util_IntValidator_INCLUDED 57 | -------------------------------------------------------------------------------- /ext/include/Poco/Util/LoggingSubsystem.h: -------------------------------------------------------------------------------- 1 | // 2 | // LoggingSubsystem.h 3 | // 4 | // Library: Util 5 | // Package: Application 6 | // Module: LoggingSubsystem 7 | // 8 | // Definition of the LoggingSubsystem class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Util_LoggingSubsystem_INCLUDED 18 | #define Util_LoggingSubsystem_INCLUDED 19 | 20 | 21 | #include "Poco/Util/Util.h" 22 | #include "Poco/Util/Subsystem.h" 23 | 24 | 25 | namespace Poco { 26 | namespace Util { 27 | 28 | 29 | class Util_API LoggingSubsystem: public Subsystem 30 | /// The LoggingSubsystem class initializes the logging 31 | /// framework using the LoggingConfigurator. 32 | /// 33 | /// It also sets the Application's logger to 34 | /// the logger specified by the "application.logger" 35 | /// property, or to "Application" if the property 36 | /// is not specified. 37 | { 38 | public: 39 | LoggingSubsystem(); 40 | const char* name() const; 41 | 42 | protected: 43 | void initialize(Application& self); 44 | void uninitialize(); 45 | ~LoggingSubsystem(); 46 | }; 47 | 48 | 49 | } } // namespace Poco::Util 50 | 51 | 52 | #endif // Util_LoggingSubsystem_INCLUDED 53 | -------------------------------------------------------------------------------- /ext/include/Poco/Util/RegExpValidator.h: -------------------------------------------------------------------------------- 1 | // 2 | // RegExpValidator.h 3 | // 4 | // Library: Util 5 | // Package: Options 6 | // Module: RegExpValidator 7 | // 8 | // Definition of the RegExpValidator class. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Util_RegExpValidator_INCLUDED 18 | #define Util_RegExpValidator_INCLUDED 19 | 20 | 21 | #include "Poco/Util/Util.h" 22 | #include "Poco/Util/Validator.h" 23 | 24 | 25 | namespace Poco { 26 | namespace Util { 27 | 28 | 29 | class Util_API RegExpValidator: public Validator 30 | /// This validator matches the option value against 31 | /// a regular expression. 32 | { 33 | public: 34 | RegExpValidator(const std::string& regexp); 35 | /// Creates the RegExpValidator, using the given regular expression. 36 | 37 | ~RegExpValidator(); 38 | /// Destroys the RegExpValidator. 39 | 40 | void validate(const Option& option, const std::string& value); 41 | /// Validates the value for the given option by 42 | /// matching it with the regular expression. 43 | 44 | private: 45 | RegExpValidator(); 46 | 47 | std::string _regexp; 48 | }; 49 | 50 | 51 | } } // namespace Poco::Util 52 | 53 | 54 | #endif // Util_RegExpValidator_INCLUDED 55 | -------------------------------------------------------------------------------- /ext/include/Poco/Util/Validator.h: -------------------------------------------------------------------------------- 1 | // 2 | // Validator.h 3 | // 4 | // Library: Util 5 | // Package: Options 6 | // Module: Validator 7 | // 8 | // Definition of the Validator class. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Util_Validator_INCLUDED 18 | #define Util_Validator_INCLUDED 19 | 20 | 21 | #include "Poco/Util/Util.h" 22 | #include "Poco/RefCountedObject.h" 23 | 24 | 25 | namespace Poco { 26 | namespace Util { 27 | 28 | 29 | class Option; 30 | 31 | 32 | class Util_API Validator: public Poco::RefCountedObject 33 | /// Validator specifies the interface for option validators. 34 | /// 35 | /// Option validators provide a simple way for the automatic 36 | /// validation of command line argument values. 37 | { 38 | public: 39 | virtual void validate(const Option& option, const std::string& value) = 0; 40 | /// Validates the value for the given option. 41 | /// Does nothing if the value is valid. 42 | /// 43 | /// Throws an OptionException otherwise. 44 | 45 | protected: 46 | Validator(); 47 | /// Creates the Validator. 48 | 49 | virtual ~Validator(); 50 | /// Destroys the Validator. 51 | }; 52 | 53 | 54 | } } // namespace Poco::Util 55 | 56 | 57 | #endif // Util_Validator_INCLUDED 58 | -------------------------------------------------------------------------------- /ext/include/Poco/ValidArgs.h: -------------------------------------------------------------------------------- 1 | // 2 | // ValidArgs.h 3 | // 4 | // Library: Foundation 5 | // Package: Cache 6 | // Module: ValidArgs 7 | // 8 | // Definition of the ValidArgs class. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_ValidArgs_INCLUDED 18 | #define Foundation_ValidArgs_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | template 28 | class ValidArgs 29 | { 30 | public: 31 | ValidArgs(const TKey& key): 32 | _key(key), 33 | _isValid(true) 34 | { 35 | } 36 | 37 | ValidArgs(const ValidArgs& args): 38 | _key(args._key), 39 | _isValid(args._isValid) 40 | { 41 | } 42 | 43 | ~ValidArgs() 44 | { 45 | } 46 | 47 | const TKey& key() const 48 | { 49 | return _key; 50 | } 51 | 52 | bool isValid() const 53 | { 54 | return _isValid; 55 | } 56 | 57 | void invalidate() 58 | { 59 | _isValid = false; 60 | } 61 | 62 | protected: 63 | const TKey& _key; 64 | bool _isValid; 65 | 66 | private: 67 | ValidArgs& operator = (const ValidArgs& args); 68 | }; 69 | 70 | 71 | } // namespace Poco 72 | 73 | 74 | #endif // Foundation_ValidArgs_INCLUDED 75 | -------------------------------------------------------------------------------- /ext/include/Poco/Version.h: -------------------------------------------------------------------------------- 1 | // 2 | // Version.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Version 7 | // 8 | // Version information for the POCO C++ Libraries. 9 | // 10 | // Copyright (c) 2004-2016, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Version_INCLUDED 18 | #define Foundation_Version_INCLUDED 19 | 20 | 21 | // 22 | // Version Information 23 | // 24 | // Since 1.6.0, we're using Semantic Versioning 2.0 25 | // (http://semver.org/spec/v2.0.0.html) 26 | // 27 | // Version format is 0xAABBCCDD, where 28 | // - AA is the major version number, 29 | // - BB is the minor version number, 30 | // - CC is the patch version number, and 31 | // - DD is the pre-release designation/number. 32 | // The pre-release designation hex digits have a special meaning: 33 | // 00: final/stable releases 34 | // Dx: development releases 35 | // Ax: alpha releases 36 | // Bx: beta releases 37 | // 38 | #define POCO_VERSION 0x01080000 39 | 40 | 41 | #endif // Foundation_Version_INCLUDED 42 | -------------------------------------------------------------------------------- /ext/lib/PocoFoundation.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/lib/PocoFoundation.lib -------------------------------------------------------------------------------- /ext/lib/PocoFoundationd.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/lib/PocoFoundationd.lib -------------------------------------------------------------------------------- /ext/lib/PocoJSON.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/lib/PocoJSON.lib -------------------------------------------------------------------------------- /ext/lib/PocoJSONd.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/lib/PocoJSONd.lib -------------------------------------------------------------------------------- /ext/lib/PocoNet.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/lib/PocoNet.lib -------------------------------------------------------------------------------- /ext/lib/PocoNetd.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/lib/PocoNetd.lib -------------------------------------------------------------------------------- /ext/lib/PocoUtil.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/lib/PocoUtil.lib -------------------------------------------------------------------------------- /ext/lib/PocoUtild.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/lib/PocoUtild.lib -------------------------------------------------------------------------------- /ext/lib/PocoXML.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/lib/PocoXML.lib -------------------------------------------------------------------------------- /ext/lib/PocoXMLd.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/lib/PocoXMLd.lib -------------------------------------------------------------------------------- /ext/libflv/include/BaseWriter.h: -------------------------------------------------------------------------------- 1 | #ifndef _BASE_WRITER_H 2 | #define _BASE_WRITER_H 3 | #include 4 | #include "FlvCommon.h" 5 | 6 | 7 | class BaseWriter 8 | { 9 | public: 10 | virtual int write(int type,uint8_t *buf, size_t len)=0; 11 | }; 12 | class FileWriter 13 | { 14 | }; 15 | class StreamWriter : public BaseWriter 16 | { 17 | private: 18 | std::ostream& m_output; 19 | public: 20 | StreamWriter(std::ostream& st); 21 | virtual int write(int type,uint8_t *buf, size_t len); 22 | }; 23 | 24 | 25 | #endif //_BASE_WRITER_H 26 | -------------------------------------------------------------------------------- /ext/libflv/include/FlvCommon.h: -------------------------------------------------------------------------------- 1 | #ifndef _FLV_COMMON_H 2 | #define _FLV_COMMON_H 3 | #include 4 | #ifdef LIBFLV_EXPORTS 5 | #define LIBFLV_API __declspec(dllexport) 6 | #else 7 | #define LIBFLV_API __declspec(dllimport) 8 | #endif 9 | 10 | #endif //_FLV_COMMON_H 11 | -------------------------------------------------------------------------------- /ext/libflv/src/BaseWriter.cpp: -------------------------------------------------------------------------------- 1 | #include "BaseWriter.h" 2 | 3 | 4 | StreamWriter::StreamWriter(std::ostream& st):m_output(st) 5 | { 6 | 7 | } 8 | 9 | int StreamWriter::write(int type,uint8_t *buf, size_t len) 10 | { 11 | m_output.write((char*)buf, len); 12 | return 0; 13 | } 14 | 15 | 16 | -------------------------------------------------------------------------------- /ext/opencv310/lib32/opencv_world310.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/opencv310/lib32/opencv_world310.lib -------------------------------------------------------------------------------- /ext/opencv310/lib64/opencv_world310.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/ext/opencv310/lib64/opencv_world310.lib -------------------------------------------------------------------------------- /ext/opencv310/opencv310/include/opencv/cxmisc.h: -------------------------------------------------------------------------------- 1 | #ifndef __OPENCV_OLD_CXMISC_H__ 2 | #define __OPENCV_OLD_CXMISC_H__ 3 | 4 | #ifdef __cplusplus 5 | # include "opencv2/core/utility.hpp" 6 | #endif 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /ext/opencv310/opencv310/include/opencv2/core/bufferpool.hpp: -------------------------------------------------------------------------------- 1 | // This file is part of OpenCV project. 2 | // It is subject to the license terms in the LICENSE file found in the top-level directory 3 | // of this distribution and at http://opencv.org/license.html. 4 | // 5 | // Copyright (C) 2014, Advanced Micro Devices, Inc., all rights reserved. 6 | 7 | #ifndef __OPENCV_CORE_BUFFER_POOL_HPP__ 8 | #define __OPENCV_CORE_BUFFER_POOL_HPP__ 9 | 10 | namespace cv 11 | { 12 | 13 | //! @addtogroup core 14 | //! @{ 15 | 16 | class BufferPoolController 17 | { 18 | protected: 19 | ~BufferPoolController() { } 20 | public: 21 | virtual size_t getReservedSize() const = 0; 22 | virtual size_t getMaxReservedSize() const = 0; 23 | virtual void setMaxReservedSize(size_t size) = 0; 24 | virtual void freeAllReservedBuffers() = 0; 25 | }; 26 | 27 | //! @} 28 | 29 | } 30 | 31 | #endif // __OPENCV_CORE_BUFFER_POOL_HPP__ 32 | -------------------------------------------------------------------------------- /ext/opencv310/opencv310/include/opencv2/flann/dummy.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef OPENCV_FLANN_DUMMY_H_ 3 | #define OPENCV_FLANN_DUMMY_H_ 4 | 5 | namespace cvflann 6 | { 7 | 8 | #if (defined WIN32 || defined _WIN32 || defined WINCE) && defined CVAPI_EXPORTS 9 | __declspec(dllexport) 10 | #endif 11 | void dummyfunc(); 12 | 13 | } 14 | 15 | 16 | #endif /* OPENCV_FLANN_DUMMY_H_ */ 17 | -------------------------------------------------------------------------------- /ext/opencv310/opencv310/include/opencv2/opencv_modules.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * ** File generated automatically, do not modify ** 3 | * 4 | * This file defines the list of modules available in current build configuration 5 | * 6 | * 7 | */ 8 | 9 | #define HAVE_OPENCV_CALIB3D 10 | #define HAVE_OPENCV_CORE 11 | #define HAVE_OPENCV_FEATURES2D 12 | #define HAVE_OPENCV_FLANN 13 | #define HAVE_OPENCV_HIGHGUI 14 | #define HAVE_OPENCV_IMGCODECS 15 | #define HAVE_OPENCV_IMGPROC 16 | #define HAVE_OPENCV_ML 17 | #define HAVE_OPENCV_OBJDETECT 18 | #define HAVE_OPENCV_PHOTO 19 | #define HAVE_OPENCV_SHAPE 20 | #define HAVE_OPENCV_STITCHING 21 | #define HAVE_OPENCV_SUPERRES 22 | #define HAVE_OPENCV_VIDEO 23 | #define HAVE_OPENCV_VIDEOIO 24 | #define HAVE_OPENCV_VIDEOSTAB 25 | #define HAVE_OPENCV_WORLD 26 | 27 | 28 | -------------------------------------------------------------------------------- /jni/Application.mk: -------------------------------------------------------------------------------- 1 | #APP_ABI := armeabi-v7a 2 | APP_ABI += arm64-v8a 3 | NDK_TOOLCHAIN_VERSION=4.9 4 | APP_PLATFORM := android-14 5 | APP_STL := gnustl_static 6 | APP_CPPFLAGS += -frtti 7 | APP_CPPFLAGS += -fexceptions 8 | APP_CPPFLAGS += -DANDROID 9 | APP_CPPFLAGS += -DENABLE_LOGGING 10 | APP_CPPFLAGS += -std=c++11 -------------------------------------------------------------------------------- /jni/NDKH5Live.h: -------------------------------------------------------------------------------- 1 | #ifndef MY_FACE_SERVICE_LIT_H 2 | #define MY_FACE_SERVICE_LIT_H 3 | 4 | 5 | #include "jnihelper/JniHelpers.h" 6 | #include "jnihelper/CloudWalkSDK.h" 7 | #include 8 | 9 | 10 | using namespace spotify::jni; 11 | 12 | class NDKH5Live:public JavaClass { 13 | public: 14 | // Direct instantiation not allowed 15 | NDKH5Live() : JavaClass() {} 16 | NDKH5Live(JNIEnv *env) : JavaClass(env) { initialize(env); } 17 | 18 | ~NDKH5Live() {} 19 | const char* getCanonicalName() const { 20 | return MAKE_CANONICAL_NAME(PACKAGE, h5live); 21 | } 22 | void initialize(JNIEnv *env); 23 | void mapFields() {} 24 | private: 25 | 26 | static jint start(JNIEnv *env, jobject javaThis,jstring webroot, jint port); 27 | static jint push264(JNIEnv *env, jobject javaThis,jstring channel, jbyteArray data); 28 | static jint addStream(JNIEnv *env, jobject javaThis,jstring channel); 29 | static jint removeStream(JNIEnv *env, jobject javaThis,jstring channel); 30 | static jint getClientNum(JNIEnv *env, jobject javaThis,jstring channel); 31 | static jint stop(JNIEnv *env, jobject javaThis); 32 | }; 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /jni/android_build.bat: -------------------------------------------------------------------------------- 1 | ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mk || pause -------------------------------------------------------------------------------- /jni/build.bat: -------------------------------------------------------------------------------- 1 | ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mk || pause -------------------------------------------------------------------------------- /jni/jnihelper/CloudWalkSDK.cpp: -------------------------------------------------------------------------------- 1 | #include "CloudWalkSDK.h" 2 | 3 | #include "NDKH5Live.h" 4 | 5 | 6 | ClassRegistry gClasses; 7 | 8 | JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void*) { 9 | LOG_INFO("Initializing JNI"); 10 | JNIEnv *env = jniHelpersInitialize(jvm); 11 | if (env == NULL) { 12 | return -1; 13 | } 14 | 15 | 16 | gClasses.add(env, new NDKH5Live(env)); 17 | 18 | 19 | 20 | LOG_INFO("Initialization complete"); 21 | return JAVA_VERSION; 22 | } 23 | 24 | -------------------------------------------------------------------------------- /jni/jnihelper/CloudWalkSDK.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014 Spotify AB 3 | * 4 | * Licensed to the Apache Software Foundation (ASF) under one 5 | * or more contributor license agreements. See the NOTICE file 6 | * distributed with this work for additional information 7 | * regarding copyright ownership. The ASF licenses this file 8 | * to you under the Apache License, Version 2.0 (the 9 | * "License"); you may not use this file except in compliance 10 | * with the License. You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, 15 | * software distributed under the License is distributed on an 16 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 17 | * KIND, either express or implied. See the License for the 18 | * specific language governing permissions and limitations 19 | * under the License. 20 | */ 21 | 22 | #ifndef __CloudWalkSDK_h__ 23 | #define __CloudWalkSDK_h__ 24 | 25 | #ifdef ANDROID 26 | 27 | #define PACKAGE "cn/face/sdk" 28 | 29 | #else 30 | 31 | #define PACKAGE "CWSDK" 32 | 33 | #endif 34 | 35 | 36 | #include "JniHelpers.h" 37 | 38 | 39 | using namespace spotify::jni; 40 | extern ClassRegistry gClasses; 41 | 42 | JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved); 43 | 44 | #endif // __JniHelpersTest_h__ 45 | -------------------------------------------------------------------------------- /jni/jnihelper/JavaClass.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/jni/jnihelper/JavaClass.cpp -------------------------------------------------------------------------------- /jni/jnihelper/JniHelpers.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014 Spotify AB 3 | * 4 | * Licensed to the Apache Software Foundation (ASF) under one 5 | * or more contributor license agreements. See the NOTICE file 6 | * distributed with this work for additional information 7 | * regarding copyright ownership. The ASF licenses this file 8 | * to you under the Apache License, Version 2.0 (the 9 | * "License"); you may not use this file except in compliance 10 | * with the License. You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, 15 | * software distributed under the License is distributed on an 16 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 17 | * KIND, either express or implied. See the License for the 18 | * specific language governing permissions and limitations 19 | * under the License. 20 | */ 21 | 22 | #include "JniHelpers.h" 23 | 24 | using namespace spotify::jni; 25 | 26 | JNIEnv* jniHelpersInitialize(JavaVM *jvm) { 27 | return JavaThreadUtils::initialize(jvm); 28 | } 29 | -------------------------------------------------------------------------------- /jni/jnihelper/Watch.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/jni/jnihelper/Watch.cpp -------------------------------------------------------------------------------- /jni/jnihelper/Watch.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/jni/jnihelper/Watch.h -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/ASCIIEncoding.h: -------------------------------------------------------------------------------- 1 | // 2 | // ASCIIEncoding.h 3 | // 4 | // Library: Foundation 5 | // Package: Text 6 | // Module: ASCIIEncoding 7 | // 8 | // Definition of the ASCIIEncoding class. 9 | // 10 | // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_ASCIIEncoding_INCLUDED 18 | #define Foundation_ASCIIEncoding_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/TextEncoding.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API ASCIIEncoding: public TextEncoding 29 | /// 7-bit ASCII text encoding. 30 | { 31 | public: 32 | ASCIIEncoding(); 33 | ~ASCIIEncoding(); 34 | const char* canonicalName() const; 35 | bool isA(const std::string& encodingName) const; 36 | const CharacterMap& characterMap() const; 37 | int convert(const unsigned char* bytes) const; 38 | int convert(int ch, unsigned char* bytes, int length) const; 39 | int queryConvert(const unsigned char* bytes, int length) const; 40 | int sequenceLength(const unsigned char* bytes, int length) const; 41 | 42 | private: 43 | static const char* _names[]; 44 | static const CharacterMap _charMap; 45 | }; 46 | 47 | 48 | } // namespace Poco 49 | 50 | 51 | #endif // Foundation_ASCIIEncoding_INCLUDED 52 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/AbstractObserver.h: -------------------------------------------------------------------------------- 1 | // 2 | // AbstractObserver.h 3 | // 4 | // Library: Foundation 5 | // Package: Notifications 6 | // Module: NotificationCenter 7 | // 8 | // Definition of the AbstractObserver class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_AbstractObserver_INCLUDED 18 | #define Foundation_AbstractObserver_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Notification.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API AbstractObserver 29 | /// The base class for all instantiations of 30 | /// the Observer and NObserver template classes. 31 | { 32 | public: 33 | AbstractObserver(); 34 | AbstractObserver(const AbstractObserver& observer); 35 | virtual ~AbstractObserver(); 36 | 37 | AbstractObserver& operator = (const AbstractObserver& observer); 38 | 39 | virtual void notify(Notification* pNf) const = 0; 40 | virtual bool equals(const AbstractObserver& observer) const = 0; 41 | virtual bool accepts(Notification* pNf) const = 0; 42 | virtual AbstractObserver* clone() const = 0; 43 | virtual void disable() = 0; 44 | }; 45 | 46 | 47 | } // namespace Poco 48 | 49 | 50 | #endif // Foundation_AbstractObserver_INCLUDED 51 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/ActiveStarter.h: -------------------------------------------------------------------------------- 1 | // 2 | // ActiveStarter.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: ActiveObjects 7 | // 8 | // Definition of the ActiveStarter class. 9 | // 10 | // Copyright (c) 2006-2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_ActiveStarter_INCLUDED 18 | #define Foundation_ActiveStarter_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/ThreadPool.h" 23 | #include "Poco/ActiveRunnable.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | template 30 | class ActiveStarter 31 | /// The default implementation of the StarterType 32 | /// policy for ActiveMethod. It starts the method 33 | /// in its own thread, obtained from the default 34 | /// thread pool. 35 | { 36 | public: 37 | static void start(OwnerType* /*pOwner*/, ActiveRunnableBase::Ptr pRunnable) 38 | { 39 | ThreadPool::defaultPool().start(*pRunnable); 40 | pRunnable->duplicate(); // The runnable will release itself. 41 | } 42 | }; 43 | 44 | 45 | } // namespace Poco 46 | 47 | 48 | #endif // Foundation_ActiveStarter_INCLUDED 49 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/BasicEvent.h: -------------------------------------------------------------------------------- 1 | // 2 | // BasicEvent.h 3 | // 4 | // Library: Foundation 5 | // Package: Events 6 | // Module: BasicEvent 7 | // 8 | // Implementation of the BasicEvent template. 9 | // 10 | // Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_BasicEvent_INCLUDED 18 | #define Foundation_BasicEvent_INCLUDED 19 | 20 | 21 | #include "Poco/AbstractEvent.h" 22 | #include "Poco/DefaultStrategy.h" 23 | #include "Poco/AbstractDelegate.h" 24 | #include "Poco/Mutex.h" 25 | 26 | 27 | namespace Poco { 28 | 29 | 30 | template 31 | class BasicEvent: public AbstractEvent < 32 | TArgs, DefaultStrategy >, 33 | AbstractDelegate, 34 | TMutex 35 | > 36 | /// A BasicEvent uses the DefaultStrategy which 37 | /// invokes delegates in the order they have been registered. 38 | /// 39 | /// Please see the AbstractEvent class template documentation 40 | /// for more information. 41 | { 42 | public: 43 | BasicEvent() 44 | { 45 | } 46 | 47 | ~BasicEvent() 48 | { 49 | } 50 | 51 | private: 52 | BasicEvent(const BasicEvent& e); 53 | BasicEvent& operator = (const BasicEvent& e); 54 | }; 55 | 56 | 57 | } // namespace Poco 58 | 59 | 60 | #endif // Foundation_BasicEvent_INCLUDED 61 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/BufferAllocator.h: -------------------------------------------------------------------------------- 1 | // 2 | // BufferAllocator.h 3 | // 4 | // Library: Foundation 5 | // Package: Streams 6 | // Module: BufferAllocator 7 | // 8 | // Definition of the BufferAllocator class. 9 | // 10 | // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_BufferAllocator_INCLUDED 18 | #define Foundation_BufferAllocator_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | #include 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | template 30 | class BufferAllocator 31 | /// The BufferAllocator used if no specific 32 | /// BufferAllocator has been specified. 33 | { 34 | public: 35 | typedef ch char_type; 36 | 37 | static char_type* allocate(std::streamsize size) 38 | { 39 | return new char_type[static_cast(size)]; 40 | } 41 | 42 | static void deallocate(char_type* ptr, std::streamsize /*size*/) throw() 43 | { 44 | delete [] ptr; 45 | } 46 | }; 47 | 48 | 49 | } // namespace Poco 50 | 51 | 52 | #endif // Foundation_BufferAllocator_INCLUDED 53 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/DynamicAny.h: -------------------------------------------------------------------------------- 1 | // 2 | // DynamicAny.h 3 | // 4 | // Library: Foundation 5 | // Package: Dynamic 6 | // Module: Var 7 | // 8 | // Forward header for Var class to maintain backward compatibility. 9 | // 10 | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_DynamicAny_INCLUDED 18 | #define Foundation_DynamicAny_INCLUDED 19 | 20 | //@ deprecated 21 | #include "Poco/Dynamic/Var.h" 22 | 23 | 24 | #endif // Foundation_DynamicAny_INCLUDED 25 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/DynamicAnyHolder.h: -------------------------------------------------------------------------------- 1 | // 2 | // DynamicAnyHolder.h 3 | // 4 | // Library: Foundation 5 | // Package: Dynamic 6 | // Module: VarHolder 7 | // 8 | // Forward header for VarHolder class to maintain backward compatibility 9 | // 10 | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_DynamicAnyHolder_INCLUDED 18 | #define Foundation_DynamicAnyHolder_INCLUDED 19 | 20 | //@ deprecated 21 | #include "Poco/Dynamic/VarHolder.h" 22 | 23 | 24 | #endif // Foundation_DynamicAnyHolder_INCLUDED 25 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/DynamicStruct.h: -------------------------------------------------------------------------------- 1 | // 2 | // DynamicStruct.h 3 | // 4 | // Library: Foundation 5 | // Package: Dynamic 6 | // Module: Struct 7 | // 8 | // Forward header for Struct class to maintain backward compatibility. 9 | // 10 | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_DynamicStruct_INCLUDED 18 | #define Foundation_DynamicStruct_INCLUDED 19 | 20 | //@ deprecated 21 | #include "Poco/Dynamic/Struct.h" 22 | 23 | 24 | #endif // Foundation_DynamicStruct_INCLUDED 25 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Environment_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // Environment_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Environment 7 | // 8 | // Definition of the EnvironmentImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Environment_WIN32_INCLUDED 18 | #define Foundation_Environment_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API EnvironmentImpl 28 | { 29 | public: 30 | typedef UInt8 NodeId[6]; /// Ethernet address. 31 | 32 | static std::string getImpl(const std::string& name); 33 | static bool hasImpl(const std::string& name); 34 | static void setImpl(const std::string& name, const std::string& value); 35 | static std::string osNameImpl(); 36 | static std::string osDisplayNameImpl(); 37 | static std::string osVersionImpl(); 38 | static std::string osArchitectureImpl(); 39 | static std::string nodeNameImpl(); 40 | static void nodeIdImpl(NodeId& id); 41 | static unsigned processorCountImpl(); 42 | }; 43 | 44 | 45 | } // namespace Poco 46 | 47 | 48 | #endif // Foundation_Environment_WIN32_INCLUDED 49 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Environment_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // Environment_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Environment 7 | // 8 | // Definition of the EnvironmentImpl class for WIN32. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Environment_WIN32U_INCLUDED 18 | #define Foundation_Environment_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API EnvironmentImpl 28 | { 29 | public: 30 | typedef UInt8 NodeId[6]; /// Ethernet address. 31 | 32 | static std::string getImpl(const std::string& name); 33 | static bool hasImpl(const std::string& name); 34 | static void setImpl(const std::string& name, const std::string& value); 35 | static std::string osNameImpl(); 36 | static std::string osDisplayNameImpl(); 37 | static std::string osVersionImpl(); 38 | static std::string osArchitectureImpl(); 39 | static std::string nodeNameImpl(); 40 | static void nodeIdImpl(NodeId& id); 41 | static unsigned processorCountImpl(); 42 | }; 43 | 44 | 45 | } // namespace Poco 46 | 47 | 48 | #endif // Foundation_Environment_WIN32U_INCLUDED 49 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Error.h: -------------------------------------------------------------------------------- 1 | // 2 | // Error.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Error 7 | // 8 | // Definition of the Error class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Error_INCLUDED 18 | #define Foundation_Error_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API Error 28 | /// The Error class provides utility functions 29 | /// for error reporting. 30 | { 31 | public: 32 | 33 | #ifdef POCO_OS_FAMILY_WINDOWS 34 | static DWORD last(); 35 | /// Utility function returning the last error. 36 | 37 | static std::string getMessage(DWORD errorCode); 38 | /// Utility function translating numeric error code to string. 39 | #else 40 | static int last(); 41 | /// Utility function returning the last error. 42 | 43 | static std::string getMessage(int errorCode); 44 | /// Utility function translating numeric error code to string. 45 | #endif 46 | }; 47 | 48 | 49 | } // namespace Poco 50 | 51 | 52 | #endif // Foundation_Error_INCLUDED 53 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/EventArgs.h: -------------------------------------------------------------------------------- 1 | // 2 | // EventArgs.h 3 | // 4 | // Library: Foundation 5 | // Package: Events 6 | // Module: EventArgs 7 | // 8 | // Definition of EventArgs. 9 | // 10 | // Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_EventArgs_INCLUDED 18 | #define Foundation_EventArgs_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API EventArgs 28 | /// The purpose of the EventArgs class is to be used as parameter 29 | /// when one doesn't want to send any data. 30 | /// 31 | /// One can use EventArgs as a base class for one's own event arguments 32 | /// but with the arguments being a template parameter this is not 33 | /// necessary. 34 | { 35 | public: 36 | EventArgs(); 37 | 38 | virtual ~EventArgs(); 39 | }; 40 | 41 | 42 | } // namespace Poco 43 | 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/EventChannel.h: -------------------------------------------------------------------------------- 1 | // 2 | // EventChannel.h 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: EventChannel 7 | // 8 | // Definition of the EventChannel class. 9 | // 10 | // Copyright (c) 2015, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_EventChannel_INCLUDED 18 | #define Foundation_EventChannel_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Channel.h" 23 | #include "Poco/Message.h" 24 | #include "Poco/BasicEvent.h" 25 | 26 | 27 | namespace Poco { 28 | 29 | 30 | class Foundation_API EventChannel: public Channel 31 | /// The EventChannel fires the messageLogged event for every log message 32 | /// received. This can be used to hook custom log message processing into 33 | /// the logging framework. 34 | { 35 | public: 36 | Poco::BasicEvent messageLogged; 37 | /// Fired when a message is logged by calling the log() method. 38 | 39 | EventChannel(); 40 | /// Creates the EventChannel. 41 | 42 | void log(const Message& msg); 43 | /// Fires the messageLogged event. 44 | 45 | protected: 46 | ~EventChannel(); 47 | /// Destroys the EventChannel. 48 | }; 49 | 50 | 51 | } // namespace Poco 52 | 53 | 54 | #endif // Foundation_EventChannel_INCLUDED 55 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Event_VX.h: -------------------------------------------------------------------------------- 1 | // 2 | // Event_VX.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Event 7 | // 8 | // Definition of the EventImpl class for VxWorks. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Event_VX_INCLUDED 18 | #define Foundation_Event_VX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API EventImpl 30 | { 31 | protected: 32 | EventImpl(bool autoReset); 33 | ~EventImpl(); 34 | void setImpl(); 35 | void waitImpl(); 36 | bool waitImpl(long milliseconds); 37 | void resetImpl(); 38 | 39 | private: 40 | bool _auto; 41 | volatile bool _state; 42 | SEM_ID _sem; 43 | }; 44 | 45 | 46 | } // namespace Poco 47 | 48 | 49 | #endif // Foundation_Event_VX_INCLUDED 50 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Event_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // Event_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Event 7 | // 8 | // Definition of the EventImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Event_WIN32_INCLUDED 18 | #define Foundation_Event_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API EventImpl 30 | { 31 | protected: 32 | EventImpl(bool autoReset); 33 | ~EventImpl(); 34 | void setImpl(); 35 | void waitImpl(); 36 | bool waitImpl(long milliseconds); 37 | void resetImpl(); 38 | 39 | private: 40 | HANDLE _event; 41 | }; 42 | 43 | 44 | // 45 | // inlines 46 | // 47 | inline void EventImpl::setImpl() 48 | { 49 | if (!SetEvent(_event)) 50 | { 51 | throw SystemException("cannot signal event"); 52 | } 53 | } 54 | 55 | 56 | inline void EventImpl::resetImpl() 57 | { 58 | if (!ResetEvent(_event)) 59 | { 60 | throw SystemException("cannot reset event"); 61 | } 62 | } 63 | 64 | 65 | } // namespace Poco 66 | 67 | 68 | #endif // Foundation_Event_WIN32_INCLUDED 69 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/FIFOStrategy.h: -------------------------------------------------------------------------------- 1 | // 2 | // FIFOStrategy.h 3 | // 4 | // Library: Foundation 5 | // Package: Events 6 | // Module: FIFOStragegy 7 | // 8 | // Implementation of the FIFOStrategy template. 9 | // 10 | // Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_FIFOStrategy_INCLUDED 18 | #define Foundation_FIFOStrategy_INCLUDED 19 | 20 | 21 | #include "Poco/DefaultStrategy.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | //@ deprecated 28 | template 29 | class FIFOStrategy: public DefaultStrategy 30 | /// Note: As of release 1.4.2, DefaultStrategy already 31 | /// implements FIFO behavior, so this class is provided 32 | /// for backwards compatibility only. 33 | { 34 | public: 35 | FIFOStrategy() 36 | { 37 | } 38 | 39 | FIFOStrategy(const FIFOStrategy& s): 40 | DefaultStrategy(s) 41 | { 42 | } 43 | 44 | ~FIFOStrategy() 45 | { 46 | } 47 | 48 | FIFOStrategy& operator = (const FIFOStrategy& s) 49 | { 50 | DefaultStrategy::operator = (s); 51 | return *this; 52 | } 53 | }; 54 | 55 | 56 | } // namespace Poco 57 | 58 | 59 | #endif // Foundation_FIFOStrategy_INCLUDED 60 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/HashFunction.h: -------------------------------------------------------------------------------- 1 | // 2 | // HashFunction.h 3 | // 4 | // Library: Foundation 5 | // Package: Hashing 6 | // Module: HashFunction 7 | // 8 | // Definition of the HashFunction class. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_HashFunction_INCLUDED 18 | #define Foundation_HashFunction_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Hash.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | //@ deprecated 29 | template 30 | struct HashFunction 31 | /// A generic hash function. 32 | { 33 | UInt32 operator () (T key, UInt32 maxValue) const 34 | /// Returns the hash value for the given key. 35 | { 36 | return static_cast(Poco::hash(key)) % maxValue; 37 | } 38 | }; 39 | 40 | 41 | //@ deprecated 42 | template <> 43 | struct HashFunction 44 | /// A generic hash function. 45 | { 46 | UInt32 operator () (const std::string& key, UInt32 maxValue) const 47 | /// Returns the hash value for the given key. 48 | { 49 | return static_cast(Poco::hash(key)) % maxValue; 50 | } 51 | }; 52 | 53 | 54 | } // namespace Poco 55 | 56 | 57 | #endif // Foundation_HashFunctions_INCLUDED 58 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/JSONString.h: -------------------------------------------------------------------------------- 1 | // 2 | // JSONString.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: String 7 | // 8 | // JSONString utility functions. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_JSONString_INCLUDED 18 | #define Foundation_JSONString_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | void Foundation_API toJSON(const std::string& value, std::ostream& out, bool wrap = true); 28 | /// Formats string value into the supplied output stream by 29 | /// escaping control characters. 30 | /// If wrap is true, the resulting string is enclosed in double quotes 31 | 32 | std::string Foundation_API toJSON(const std::string& value, bool wrap = true); 33 | /// Formats string value by escaping control characters. 34 | /// If wrap is true, the resulting string is enclosed in double quotes 35 | /// Returns formatted string. 36 | 37 | 38 | } // namespace Poco 39 | 40 | 41 | #endif // Foundation_JSONString_INCLUDED 42 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/LRUCache.h: -------------------------------------------------------------------------------- 1 | // 2 | // LRUCache.h 3 | // 4 | // Library: Foundation 5 | // Package: Cache 6 | // Module: LRUCache 7 | // 8 | // Definition of the LRUCache class. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_LRUCache_INCLUDED 18 | #define Foundation_LRUCache_INCLUDED 19 | 20 | 21 | #include "Poco/AbstractCache.h" 22 | #include "Poco/LRUStrategy.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | template < 29 | class TKey, 30 | class TValue, 31 | class TMutex = FastMutex, 32 | class TEventMutex = FastMutex 33 | > 34 | class LRUCache: public AbstractCache, TMutex, TEventMutex> 35 | /// An LRUCache implements Least Recently Used caching. The default size for a cache is 1024 entries. 36 | { 37 | public: 38 | LRUCache(long size = 1024): 39 | AbstractCache, TMutex, TEventMutex>(LRUStrategy(size)) 40 | { 41 | } 42 | 43 | ~LRUCache() 44 | { 45 | } 46 | 47 | private: 48 | LRUCache(const LRUCache& aCache); 49 | LRUCache& operator = (const LRUCache& aCache); 50 | }; 51 | 52 | 53 | } // namespace Poco 54 | 55 | 56 | #endif // Foundation_LRUCache_INCLUDED 57 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Latin1Encoding.h: -------------------------------------------------------------------------------- 1 | // 2 | // Latin1Encoding.h 3 | // 4 | // Library: Foundation 5 | // Package: Text 6 | // Module: Latin1Encoding 7 | // 8 | // Definition of the Latin1Encoding class. 9 | // 10 | // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Latin1Encoding_INCLUDED 18 | #define Foundation_Latin1Encoding_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/TextEncoding.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API Latin1Encoding: public TextEncoding 29 | /// ISO Latin-1 (8859-1) text encoding. 30 | { 31 | public: 32 | Latin1Encoding(); 33 | ~Latin1Encoding(); 34 | const char* canonicalName() const; 35 | bool isA(const std::string& encodingName) const; 36 | const CharacterMap& characterMap() const; 37 | int convert(const unsigned char* bytes) const; 38 | int convert(int ch, unsigned char* bytes, int length) const; 39 | int queryConvert(const unsigned char* bytes, int length) const; 40 | int sequenceLength(const unsigned char* bytes, int length) const; 41 | 42 | private: 43 | static const char* _names[]; 44 | static const CharacterMap _charMap; 45 | }; 46 | 47 | 48 | } // namespace Poco 49 | 50 | 51 | #endif // Foundation_Latin1Encoding_INCLUDED 52 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/LogFile_STD.h: -------------------------------------------------------------------------------- 1 | // 2 | // LogFile_STD.h 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: LogFile 7 | // 8 | // Definition of the LogFileImpl class using iostreams. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_LogFile_STD_INCLUDED 18 | #define Foundation_LogFile_STD_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Timestamp.h" 23 | #include "Poco/FileStream.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API LogFileImpl 30 | /// The implementation of LogFile for non-Windows platforms. 31 | /// The native filesystem APIs are used for 32 | /// total control over locking behavior. 33 | { 34 | public: 35 | LogFileImpl(const std::string& path); 36 | ~LogFileImpl(); 37 | void writeImpl(const std::string& text, bool flush); 38 | UInt64 sizeImpl() const; 39 | Timestamp creationDateImpl() const; 40 | const std::string& pathImpl() const; 41 | 42 | private: 43 | std::string _path; 44 | mutable Poco::FileOutputStream _str; 45 | Timestamp _creationDate; 46 | }; 47 | 48 | 49 | } // namespace Poco 50 | 51 | 52 | #endif // Foundation_LogFile_STD_INCLUDED 53 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/LogFile_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // LogFile_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: LogFile 7 | // 8 | // Definition of the LogFileImpl class using the Windows file APIs. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_LogFile_WIN32_INCLUDED 18 | #define Foundation_LogFile_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Timestamp.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API LogFileImpl 30 | /// The implementation of LogFile for Windows. 31 | /// The native filesystem APIs are used for 32 | /// total control over locking behavior. 33 | { 34 | public: 35 | LogFileImpl(const std::string& path); 36 | ~LogFileImpl(); 37 | void writeImpl(const std::string& text, bool flush); 38 | UInt64 sizeImpl() const; 39 | Timestamp creationDateImpl() const; 40 | const std::string& pathImpl() const; 41 | 42 | private: 43 | void createFile(); 44 | 45 | std::string _path; 46 | HANDLE _hFile; 47 | Timestamp _creationDate; 48 | }; 49 | 50 | 51 | } // namespace Poco 52 | 53 | 54 | #endif // Foundation_LogFile_WIN32_INCLUDED 55 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/LogFile_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // LogFile_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: LogFile 7 | // 8 | // Definition of the LogFileImpl class using the Windows file APIs. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_LogFile_WIN32U_INCLUDED 18 | #define Foundation_LogFile_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Timestamp.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API LogFileImpl 30 | /// The implementation of LogFile for Windows. 31 | /// The native filesystem APIs are used for 32 | /// total control over locking behavior. 33 | { 34 | public: 35 | LogFileImpl(const std::string& path); 36 | ~LogFileImpl(); 37 | void writeImpl(const std::string& text, bool flush); 38 | UInt64 sizeImpl() const; 39 | Timestamp creationDateImpl() const; 40 | const std::string& pathImpl() const; 41 | 42 | private: 43 | void createFile(); 44 | 45 | std::string _path; 46 | HANDLE _hFile; 47 | Timestamp _creationDate; 48 | }; 49 | 50 | 51 | } // namespace Poco 52 | 53 | 54 | #endif // Foundation_LogFile_WIN32U_INCLUDED 55 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Mutex_WINCE.h: -------------------------------------------------------------------------------- 1 | // 2 | // Mutex_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Mutex 7 | // 8 | // Definition of the MutexImpl and FastMutexImpl classes for WIN32. 9 | // 10 | // Copyright (c) 2004-2010, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Mutex_WINCE_INCLUDED 18 | #define Foundation_Mutex_WINCE_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API MutexImpl 30 | { 31 | protected: 32 | MutexImpl(); 33 | ~MutexImpl(); 34 | void lockImpl(); 35 | bool tryLockImpl(); 36 | bool tryLockImpl(long milliseconds); 37 | void unlockImpl(); 38 | 39 | private: 40 | HANDLE _mutex; 41 | }; 42 | 43 | 44 | typedef MutexImpl FastMutexImpl; 45 | 46 | 47 | } // namespace Poco 48 | 49 | 50 | #endif // Foundation_Mutex_WINCE_INCLUDED 51 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/NamedEvent_Android.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedEvent_Android.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedEvent 7 | // 8 | // Definition of the NamedEventImpl class for Android. 9 | // 10 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedEvent_Android_INCLUDED 18 | #define Foundation_NamedEvent_Android_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API NamedEventImpl 28 | { 29 | protected: 30 | NamedEventImpl(const std::string& name); 31 | ~NamedEventImpl(); 32 | void setImpl(); 33 | void waitImpl(); 34 | }; 35 | 36 | 37 | } // namespace Poco 38 | 39 | 40 | #endif // Foundation_NamedEvent_Android_INCLUDED 41 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/NamedEvent_UNIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedEvent_UNIX.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedEvent 7 | // 8 | // Definition of the NamedEventImpl class for Unix. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedEvent_UNIX_INCLUDED 18 | #define Foundation_NamedEvent_UNIX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) 23 | #include 24 | #endif 25 | 26 | 27 | namespace Poco { 28 | 29 | 30 | class Foundation_API NamedEventImpl 31 | { 32 | protected: 33 | NamedEventImpl(const std::string& name); 34 | ~NamedEventImpl(); 35 | void setImpl(); 36 | void waitImpl(); 37 | 38 | private: 39 | std::string getFileName(); 40 | 41 | std::string _name; 42 | #if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) 43 | sem_t* _sem; 44 | #else 45 | int _semid; // semaphore id 46 | #endif 47 | }; 48 | 49 | 50 | } // namespace Poco 51 | 52 | 53 | #endif // Foundation_NamedEvent_UNIX_INCLUDED 54 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/NamedEvent_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedEvent_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedEvent 7 | // 8 | // Definition of the NamedEventImpl class for Windows. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedEvent_WIN32_INCLUDED 18 | #define Foundation_NamedEvent_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/UnWindows.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API NamedEventImpl 29 | { 30 | protected: 31 | NamedEventImpl(const std::string& name); 32 | ~NamedEventImpl(); 33 | void setImpl(); 34 | void waitImpl(); 35 | 36 | private: 37 | std::string _name; 38 | HANDLE _event; 39 | }; 40 | 41 | 42 | } // namespace Poco 43 | 44 | 45 | #endif // Foundation_NamedEvent_WIN32_INCLUDED 46 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/NamedEvent_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedEvent_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedEvent 7 | // 8 | // Definition of the NamedEventImpl class for Windows. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedEvent_WIN32U_INCLUDED 18 | #define Foundation_NamedEvent_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/UnWindows.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API NamedEventImpl 29 | { 30 | protected: 31 | NamedEventImpl(const std::string& name); 32 | ~NamedEventImpl(); 33 | void setImpl(); 34 | void waitImpl(); 35 | 36 | private: 37 | std::string _name; 38 | std::wstring _uname; 39 | HANDLE _event; 40 | }; 41 | 42 | 43 | } // namespace Poco 44 | 45 | 46 | #endif // Foundation_NamedEvent_WIN32U_INCLUDED 47 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/NamedMutex_Android.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedMutex_Android.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedMutex 7 | // 8 | // Definition of the NamedMutexImpl class for Android. 9 | // 10 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedMutex_Android_INCLUDED 18 | #define Foundation_NamedMutex_Android_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API NamedMutexImpl 28 | { 29 | protected: 30 | NamedMutexImpl(const std::string& name); 31 | ~NamedMutexImpl(); 32 | void lockImpl(); 33 | bool tryLockImpl(); 34 | void unlockImpl(); 35 | }; 36 | 37 | 38 | } // namespace Poco 39 | 40 | 41 | #endif // Foundation_NamedMutex_Android_INCLUDED 42 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/NamedMutex_UNIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedMutex_UNIX.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedMutex 7 | // 8 | // Definition of the NamedMutexImpl class for Unix. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedMutex_UNIX_INCLUDED 18 | #define Foundation_NamedMutex_UNIX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | #include 24 | #if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) 25 | #include 26 | #endif 27 | 28 | 29 | namespace Poco { 30 | 31 | 32 | class Foundation_API NamedMutexImpl 33 | { 34 | protected: 35 | NamedMutexImpl(const std::string& name); 36 | ~NamedMutexImpl(); 37 | void lockImpl(); 38 | bool tryLockImpl(); 39 | void unlockImpl(); 40 | 41 | private: 42 | std::string getFileName(); 43 | 44 | std::string _name; 45 | #if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) 46 | sem_t* _sem; 47 | #else 48 | int _semid; // semaphore id 49 | bool _owned; 50 | #endif 51 | }; 52 | 53 | 54 | } // namespace Poco 55 | 56 | 57 | #endif // Foundation_NamedMutex_UNIX_INCLUDED 58 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/NamedMutex_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedMutex_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedMutex 7 | // 8 | // Definition of the NamedMutexImpl class for Windows. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedMutex_WIN32_INCLUDED 18 | #define Foundation_NamedMutex_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/UnWindows.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API NamedMutexImpl 29 | { 30 | protected: 31 | NamedMutexImpl(const std::string& name); 32 | ~NamedMutexImpl(); 33 | void lockImpl(); 34 | bool tryLockImpl(); 35 | void unlockImpl(); 36 | 37 | private: 38 | std::string _name; 39 | HANDLE _mutex; 40 | }; 41 | 42 | 43 | } // namespace Poco 44 | 45 | 46 | #endif // Foundation_NamedMutex_WIN32_INCLUDED 47 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/NamedMutex_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedMutex_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedMutex 7 | // 8 | // Definition of the NamedMutexImpl class for Windows. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedMutex_WIN32U_INCLUDED 18 | #define Foundation_NamedMutex_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/UnWindows.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API NamedMutexImpl 29 | { 30 | protected: 31 | NamedMutexImpl(const std::string& name); 32 | ~NamedMutexImpl(); 33 | void lockImpl(); 34 | bool tryLockImpl(); 35 | void unlockImpl(); 36 | 37 | private: 38 | std::string _name; 39 | std::wstring _uname; 40 | HANDLE _mutex; 41 | }; 42 | 43 | 44 | } // namespace Poco 45 | 46 | 47 | #endif // Foundation_NamedMutex_WIN32U_INCLUDED 48 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Net/DatagramSocketImpl.h: -------------------------------------------------------------------------------- 1 | // 2 | // DatagramSocketImpl.h 3 | // 4 | // Library: Net 5 | // Package: Sockets 6 | // Module: DatagramSocketImpl 7 | // 8 | // Definition of the DatagramSocketImpl class. 9 | // 10 | // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Net_DatagramSocketImpl_INCLUDED 18 | #define Net_DatagramSocketImpl_INCLUDED 19 | 20 | 21 | #include "Poco/Net/Net.h" 22 | #include "Poco/Net/SocketImpl.h" 23 | 24 | 25 | namespace Poco { 26 | namespace Net { 27 | 28 | 29 | class Net_API DatagramSocketImpl: public SocketImpl 30 | /// This class implements an UDP socket. 31 | { 32 | public: 33 | DatagramSocketImpl(); 34 | /// Creates an unconnected, unbound datagram socket. 35 | 36 | explicit DatagramSocketImpl(SocketAddress::Family family); 37 | /// Creates an unconnected datagram socket. 38 | /// 39 | /// The socket will be created for the 40 | /// given address family. 41 | 42 | DatagramSocketImpl(poco_socket_t sockfd); 43 | /// Creates a StreamSocketImpl using the given native socket. 44 | 45 | protected: 46 | void init(int af); 47 | 48 | ~DatagramSocketImpl(); 49 | }; 50 | 51 | 52 | } } // namespace Poco::Net 53 | 54 | 55 | #endif // Net_DatagramSocketImpl_INCLUDED 56 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Net/HTTPBasicStreamBuf.h: -------------------------------------------------------------------------------- 1 | // 2 | // HTTPBasicStreamBuf.h 3 | // 4 | // Library: Net 5 | // Package: HTTP 6 | // Module: HTTPBasicStreamBuf 7 | // 8 | // Definition of the HTTPBasicStreamBuf class. 9 | // 10 | // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Net_HTTPBasicStreamBuf_INCLUDED 18 | #define Net_HTTPBasicStreamBuf_INCLUDED 19 | 20 | 21 | #include "Poco/Net/Net.h" 22 | #include "Poco/BufferedStreamBuf.h" 23 | #include "Poco/Net/HTTPBufferAllocator.h" 24 | 25 | 26 | namespace Poco { 27 | namespace Net { 28 | 29 | 30 | typedef Poco::BasicBufferedStreamBuf, HTTPBufferAllocator> HTTPBasicStreamBuf; 31 | 32 | 33 | } } // namespace Poco::Net 34 | 35 | 36 | #endif // Net_HTTPBasicStreamBuf_INCLUDED 37 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Net/HTTPBufferAllocator.h: -------------------------------------------------------------------------------- 1 | // 2 | // HTTPBufferAllocator.h 3 | // 4 | // Library: Net 5 | // Package: HTTP 6 | // Module: HTTPBufferAllocator 7 | // 8 | // Definition of the HTTPBufferAllocator class. 9 | // 10 | // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Net_HTTPBufferAllocator_INCLUDED 18 | #define Net_HTTPBufferAllocator_INCLUDED 19 | 20 | 21 | #include "Poco/Net/Net.h" 22 | #include "Poco/MemoryPool.h" 23 | #include 24 | 25 | 26 | namespace Poco { 27 | namespace Net { 28 | 29 | 30 | class Net_API HTTPBufferAllocator 31 | /// A BufferAllocator for HTTP streams. 32 | { 33 | public: 34 | static char* allocate(std::streamsize size); 35 | static void deallocate(char* ptr, std::streamsize size); 36 | 37 | enum 38 | { 39 | BUFFER_SIZE = 4096 40 | }; 41 | 42 | private: 43 | static Poco::MemoryPool _pool; 44 | }; 45 | 46 | 47 | } } // namespace Poco::Net 48 | 49 | 50 | #endif // Net_HTTPBufferAllocator_INCLUDED 51 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Net/NullPartHandler.h: -------------------------------------------------------------------------------- 1 | // 2 | // NullPartHandler.h 3 | // 4 | // Library: Net 5 | // Package: Messages 6 | // Module: NullPartHandler 7 | // 8 | // Definition of the NullPartHandler class. 9 | // 10 | // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Net_NullPartHandler_INCLUDED 18 | #define Net_NullPartHandler_INCLUDED 19 | 20 | 21 | #include "Poco/Net/Net.h" 22 | #include "Poco/Net/PartHandler.h" 23 | 24 | 25 | namespace Poco { 26 | namespace Net { 27 | 28 | 29 | class Net_API NullPartHandler: public PartHandler 30 | /// A very special PartHandler that simply discards all data. 31 | { 32 | public: 33 | NullPartHandler(); 34 | /// Creates the NullPartHandler. 35 | 36 | ~NullPartHandler(); 37 | /// Destroys the NullPartHandler. 38 | 39 | void handlePart(const MessageHeader& header, std::istream& stream); 40 | /// Reads and discards all data from the stream. 41 | }; 42 | 43 | 44 | } } // namespace Poco::Net 45 | 46 | 47 | #endif // Net_NullPartHandler_INCLUDED 48 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Net/RawSocketImpl.h: -------------------------------------------------------------------------------- 1 | // 2 | // RawSocketImpl.h 3 | // 4 | // Library: Net 5 | // Package: Sockets 6 | // Module: RawSocketImpl 7 | // 8 | // Definition of the RawSocketImpl class. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Net_RawSocketImpl_INCLUDED 18 | #define Net_RawSocketImpl_INCLUDED 19 | 20 | 21 | #include "Poco/Net/Net.h" 22 | #include "Poco/Net/SocketImpl.h" 23 | 24 | 25 | namespace Poco { 26 | namespace Net { 27 | 28 | 29 | class Net_API RawSocketImpl: public SocketImpl 30 | /// This class implements a raw socket. 31 | { 32 | public: 33 | RawSocketImpl(); 34 | /// Creates an unconnected IPv4 raw socket with IPPROTO_RAW. 35 | 36 | RawSocketImpl(SocketAddress::Family family, int proto = IPPROTO_RAW); 37 | /// Creates an unconnected raw socket. 38 | /// 39 | /// The socket will be created for the 40 | /// given address family. 41 | 42 | RawSocketImpl(poco_socket_t sockfd); 43 | /// Creates a RawSocketImpl using the given native socket. 44 | 45 | protected: 46 | void init(int af); 47 | void init2(int af, int proto); 48 | 49 | ~RawSocketImpl(); 50 | }; 51 | 52 | 53 | } } // namespace Poco::Net 54 | 55 | 56 | #endif // Net_RawSocketImpl_INCLUDED 57 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Net/ServerSocketImpl.h: -------------------------------------------------------------------------------- 1 | // 2 | // ServerSocketImpl.h 3 | // 4 | // Library: Net 5 | // Package: Sockets 6 | // Module: ServerSocketImpl 7 | // 8 | // Definition of the ServerSocketImpl class. 9 | // 10 | // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Net_ServerSocketImpl_INCLUDED 18 | #define Net_ServerSocketImpl_INCLUDED 19 | 20 | 21 | #include "Poco/Net/Net.h" 22 | #include "Poco/Net/SocketImpl.h" 23 | 24 | 25 | namespace Poco { 26 | namespace Net { 27 | 28 | 29 | class Net_API ServerSocketImpl: public SocketImpl 30 | /// This class implements a TCP server socket. 31 | { 32 | public: 33 | ServerSocketImpl(); 34 | /// Creates the ServerSocketImpl. 35 | 36 | protected: 37 | virtual ~ServerSocketImpl(); 38 | /// Destroys the ServerSocketImpl. 39 | }; 40 | 41 | 42 | } } // namespace Poco::Net 43 | 44 | 45 | #endif // Net_ServerSocketImpl_INCLUDED 46 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Notification.h: -------------------------------------------------------------------------------- 1 | // 2 | // Notification.h 3 | // 4 | // Library: Foundation 5 | // Package: Notifications 6 | // Module: Notification 7 | // 8 | // Definition of the Notification class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Notification_INCLUDED 18 | #define Foundation_Notification_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | #include "Poco/RefCountedObject.h" 24 | #include "Poco/AutoPtr.h" 25 | 26 | 27 | namespace Poco { 28 | 29 | 30 | class Foundation_API Notification: public RefCountedObject 31 | /// The base class for all notification classes used 32 | /// with the NotificationCenter and the NotificationQueue 33 | /// classes. 34 | /// The Notification class can be used with the AutoPtr 35 | /// template class. 36 | { 37 | public: 38 | typedef AutoPtr Ptr; 39 | 40 | Notification(); 41 | /// Creates the notification. 42 | 43 | virtual std::string name() const; 44 | /// Returns the name of the notification. 45 | /// The default implementation returns the class name. 46 | 47 | protected: 48 | virtual ~Notification(); 49 | }; 50 | 51 | 52 | } // namespace Poco 53 | 54 | 55 | #endif // Foundation_Notification_INCLUDED 56 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/NullChannel.h: -------------------------------------------------------------------------------- 1 | // 2 | // NullChannel.h 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: NullChannel 7 | // 8 | // Definition of the NullChannel class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NullChannel_INCLUDED 18 | #define Foundation_NullChannel_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Channel.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API NullChannel: public Channel 29 | /// The NullChannel is the /dev/null of Channels. 30 | /// 31 | /// A NullChannel discards all information sent to it. 32 | /// Furthermore, its setProperty() method ignores 33 | /// all properties, so it the NullChannel has the 34 | /// nice feature that it can stand in for any 35 | /// other channel class in a logging configuration. 36 | { 37 | public: 38 | NullChannel(); 39 | /// Creates the NullChannel. 40 | 41 | ~NullChannel(); 42 | /// Destroys the NullChannel. 43 | 44 | void log(const Message& msg); 45 | /// Does nothing. 46 | 47 | void setProperty(const std::string& name, const std::string& value); 48 | /// Ignores both name and value. 49 | }; 50 | 51 | 52 | } // namespace Poco 53 | 54 | 55 | #endif // Foundation_NullChannel_INCLUDED 56 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Path_UNIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // Path_UNIX.h 3 | // 4 | // Library: Foundation 5 | // Package: Filesystem 6 | // Module: Path 7 | // 8 | // Definition of the PathImpl class fo rUnix. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Path_UNIX_INCLUDED 18 | #define Foundation_Path_UNIX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class PathImpl 29 | { 30 | public: 31 | static std::string currentImpl(); 32 | static std::string homeImpl(); 33 | static std::string tempImpl(); 34 | static std::string nullImpl(); 35 | static std::string expandImpl(const std::string& path); 36 | static void listRootsImpl(std::vector& roots); 37 | }; 38 | 39 | 40 | } // namespace Poco 41 | 42 | 43 | #endif // Foundation_Path_UNIX_INCLUDED 44 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Path_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // Path_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Filesystem 6 | // Module: Path 7 | // 8 | // Definition of the PathImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Path_WIN32_INCLUDED 18 | #define Foundation_Path_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API PathImpl 29 | { 30 | public: 31 | static std::string currentImpl(); 32 | static std::string homeImpl(); 33 | static std::string tempImpl(); 34 | static std::string nullImpl(); 35 | static std::string systemImpl(); 36 | static std::string expandImpl(const std::string& path); 37 | static void listRootsImpl(std::vector& roots); 38 | }; 39 | 40 | 41 | } // namespace Poco 42 | 43 | 44 | #endif // Foundation_Path_WIN32_INCLUDED 45 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Path_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // Path_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: Filesystem 6 | // Module: Path 7 | // 8 | // Definition of the PathImpl class for WIN32. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Path_WIN32U_INCLUDED 18 | #define Foundation_Path_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API PathImpl 29 | { 30 | public: 31 | static std::string currentImpl(); 32 | static std::string homeImpl(); 33 | static std::string tempImpl(); 34 | static std::string nullImpl(); 35 | static std::string systemImpl(); 36 | static std::string expandImpl(const std::string& path); 37 | static void listRootsImpl(std::vector& roots); 38 | 39 | enum 40 | { 41 | MAX_PATH_LEN = 32767 42 | }; 43 | }; 44 | 45 | 46 | } // namespace Poco 47 | 48 | 49 | #endif // Foundation_Path_WIN32U_INCLUDED 50 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Path_WINCE.h: -------------------------------------------------------------------------------- 1 | // 2 | // Path_WINCE.h 3 | // 4 | // Library: Foundation 5 | // Package: Filesystem 6 | // Module: Path 7 | // 8 | // Definition of the PathImpl class for WIN32. 9 | // 10 | // Copyright (c) 2006-2010, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Path_WINCE_INCLUDED 18 | #define Foundation_Path_WINCE_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API PathImpl 29 | { 30 | public: 31 | static std::string currentImpl(); 32 | static std::string homeImpl(); 33 | static std::string configHomeImpl(); 34 | static std::string dataHomeImpl(); 35 | static std::string cacheHomeImpl(); 36 | static std::string tempHomeImpl(); 37 | static std::string tempImpl(); 38 | static std::string configImpl(); 39 | static std::string nullImpl(); 40 | static std::string systemImpl(); 41 | static std::string expandImpl(const std::string& path); 42 | static void listRootsImpl(std::vector& roots); 43 | 44 | enum 45 | { 46 | MAX_PATH_LEN = 32767 47 | }; 48 | }; 49 | 50 | 51 | } // namespace Poco 52 | 53 | 54 | #endif // Foundation_Path_WINCE_INCLUDED 55 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/PipeImpl.h: -------------------------------------------------------------------------------- 1 | // 2 | // PipeImpl.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: PipeImpl 7 | // 8 | // Definition of the PipeImpl class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_PipeImpl_INCLUDED 18 | #define Foundation_PipeImpl_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | #if defined(POCO_OS_FAMILY_WINDOWS) 25 | #if defined(_WIN32_WCE) 26 | #include "PipeImpl_DUMMY.h" 27 | #else 28 | #include "Poco/PipeImpl_WIN32.h" 29 | #endif 30 | #elif defined(POCO_OS_FAMILY_UNIX) 31 | #include "Poco/PipeImpl_POSIX.h" 32 | #else 33 | #include "Poco/PipeImpl_DUMMY.h" 34 | #endif 35 | 36 | 37 | #endif // Foundation_PipeImpl_INCLUDED 38 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/PipeImpl_DUMMY.h: -------------------------------------------------------------------------------- 1 | // 2 | // PipeImpl_DUMMY.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: PipeImpl 7 | // 8 | // Definition of the PipeImpl_DUMMY class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_PipeImpl_DUMMY_INCLUDED 18 | #define Foundation_PipeImpl_DUMMY_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/RefCountedObject.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API PipeImpl: public RefCountedObject 29 | /// A dummy implementation of PipeImpl for platforms 30 | /// that do not support pipes. 31 | { 32 | public: 33 | typedef int Handle; 34 | 35 | PipeImpl(); 36 | ~PipeImpl(); 37 | int writeBytes(const void* buffer, int length); 38 | int readBytes(void* buffer, int length); 39 | Handle readHandle() const; 40 | Handle writeHandle() const; 41 | void closeRead(); 42 | void closeWrite(); 43 | }; 44 | 45 | 46 | } // namespace Poco 47 | 48 | 49 | #endif // Foundation_PipeImpl_DUMMY_INCLUDED 50 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/PipeImpl_POSIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // PipeImpl_POSIX.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: PipeImpl 7 | // 8 | // Definition of the PipeImpl class for POSIX. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_PipeImpl_POSIX_INCLUDED 18 | #define Foundation_PipeImpl_POSIX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/RefCountedObject.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API PipeImpl: public RefCountedObject 29 | /// A dummy implementation of PipeImpl for platforms 30 | /// that do not support pipes. 31 | { 32 | public: 33 | typedef int Handle; 34 | 35 | PipeImpl(); 36 | ~PipeImpl(); 37 | int writeBytes(const void* buffer, int length); 38 | int readBytes(void* buffer, int length); 39 | Handle readHandle() const; 40 | Handle writeHandle() const; 41 | void closeRead(); 42 | void closeWrite(); 43 | 44 | private: 45 | int _readfd; 46 | int _writefd; 47 | }; 48 | 49 | 50 | } // namespace Poco 51 | 52 | 53 | #endif // Foundation_PipeImpl_POSIX_INCLUDED 54 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/PipeImpl_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // PipeImpl_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: PipeImpl 7 | // 8 | // Definition of the PipeImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_PipeImpl_WIN32_INCLUDED 18 | #define Foundation_PipeImpl_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/RefCountedObject.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API PipeImpl: public RefCountedObject 30 | /// A dummy implementation of PipeImpl for platforms 31 | /// that do not support pipes. 32 | { 33 | public: 34 | typedef HANDLE Handle; 35 | 36 | PipeImpl(); 37 | ~PipeImpl(); 38 | int writeBytes(const void* buffer, int length); 39 | int readBytes(void* buffer, int length); 40 | Handle readHandle() const; 41 | Handle writeHandle() const; 42 | void closeRead(); 43 | void closeWrite(); 44 | 45 | private: 46 | HANDLE _readHandle; 47 | HANDLE _writeHandle; 48 | }; 49 | 50 | 51 | } // namespace Poco 52 | 53 | 54 | #endif // Foundation_PipeImpl_WIN32_INCLUDED 55 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Platform_POSIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // Platform_POSIX.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Platform 7 | // 8 | // Platform and architecture identification macros 9 | // and platform-specific definitions for various POSIX platforms 10 | // 11 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 12 | // and Contributors. 13 | // 14 | // SPDX-License-Identifier: BSL-1.0 15 | // 16 | 17 | 18 | #ifndef Foundation_Platform_POSIX_INCLUDED 19 | #define Foundation_Platform_POSIX_INCLUDED 20 | 21 | 22 | // 23 | // PA-RISC based HP-UX platforms have some issues... 24 | // 25 | #if defined(hpux) || defined(_hpux) 26 | #if defined(__hppa) || defined(__hppa__) 27 | #define POCO_NO_SYS_SELECT_H 1 28 | #if defined(__HP_aCC) 29 | #define POCO_NO_TEMPLATE_ICOMPARE 1 30 | #endif 31 | #endif 32 | #endif 33 | 34 | 35 | // 36 | // Thread-safety of local static initialization 37 | // 38 | #if __cplusplus >= 201103L || __GNUC__ >= 4 || defined(__clang__) 39 | #ifndef POCO_LOCAL_STATIC_INIT_IS_THREADSAFE 40 | #define POCO_LOCAL_STATIC_INIT_IS_THREADSAFE 1 41 | #endif 42 | #endif 43 | 44 | 45 | // 46 | // No syslog.h on QNX/BB10 47 | // 48 | #if defined(__QNXNTO__) 49 | #define POCO_NO_SYSLOGCHANNEL 50 | #endif 51 | 52 | 53 | #endif // Foundation_Platform_POSIX_INCLUDED 54 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Platform_VX.h: -------------------------------------------------------------------------------- 1 | // 2 | // Platform_VX.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Platform 7 | // 8 | // Platform and architecture identification macros 9 | // and platform-specific definitions for VxWorks 10 | // 11 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 12 | // and Contributors. 13 | // 14 | // SPDX-License-Identifier: BSL-1.0 15 | // 16 | 17 | 18 | #ifndef Foundation_Platform_VX_INCLUDED 19 | #define Foundation_Platform_VX_INCLUDED 20 | 21 | 22 | #define POCO_NO_SYS_SELECT_H 23 | #define POCO_NO_FPENVIRONMENT 24 | #define POCO_NO_WSTRING 25 | #define POCO_NO_SHAREDMEMORY 26 | #define POCO_NO_SYSLOGCHANNEL 27 | 28 | 29 | #endif // Foundation_Platform_VX_INCLUDED 30 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Poco.h: -------------------------------------------------------------------------------- 1 | // 2 | // Poco.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Foundation 7 | // 8 | // Basic definitions for the POCO libraries. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Poco_INCLUDED 18 | #define Foundation_Poco_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | #endif // Foundation_Poco_INCLUDED 25 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/RWLock_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // RWLock_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: RWLock 7 | // 8 | // Definition of the RWLockImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_RWLock_WIN32_INCLUDED 18 | #define Foundation_RWLock_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API RWLockImpl 30 | { 31 | protected: 32 | RWLockImpl(); 33 | ~RWLockImpl(); 34 | void readLockImpl(); 35 | bool tryReadLockImpl(); 36 | void writeLockImpl(); 37 | bool tryWriteLockImpl(); 38 | void unlockImpl(); 39 | 40 | private: 41 | void addWriter(); 42 | void removeWriter(); 43 | DWORD tryReadLockOnce(); 44 | 45 | HANDLE _mutex; 46 | HANDLE _readEvent; 47 | HANDLE _writeEvent; 48 | unsigned _readers; 49 | unsigned _writersWaiting; 50 | unsigned _writers; 51 | }; 52 | 53 | 54 | } // namespace Poco 55 | 56 | 57 | #endif // Foundation_RWLock_WIN32_INCLUDED 58 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Runnable.h: -------------------------------------------------------------------------------- 1 | // 2 | // Runnable.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Thread 7 | // 8 | // Definition of the Runnable class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Runnable_INCLUDED 18 | #define Foundation_Runnable_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API Runnable 28 | /// The Runnable interface with the run() method 29 | /// must be implemented by classes that provide 30 | /// an entry point for a thread. 31 | { 32 | public: 33 | Runnable(); 34 | virtual ~Runnable(); 35 | 36 | virtual void run() = 0; 37 | /// Do whatever the thread needs to do. Must 38 | /// be overridden by subclasses. 39 | }; 40 | 41 | 42 | } // namespace Poco 43 | 44 | 45 | #endif // Foundation_Runnable_INCLUDED 46 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/ScopedUnlock.h: -------------------------------------------------------------------------------- 1 | // 2 | // ScopedUnlock.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Mutex 7 | // 8 | // Definition of the ScopedUnlock template class. 9 | // 10 | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_ScopedUnlock_INCLUDED 18 | #define Foundation_ScopedUnlock_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | template 28 | class ScopedUnlock 29 | /// A class that simplifies thread synchronization 30 | /// with a mutex. 31 | /// The constructor accepts a Mutex and unlocks it. 32 | /// The destructor locks the mutex. 33 | { 34 | public: 35 | inline ScopedUnlock(M& mutex, bool unlockNow = true): _mutex(mutex) 36 | { 37 | if (unlockNow) 38 | _mutex.unlock(); 39 | } 40 | inline ~ScopedUnlock() 41 | { 42 | try 43 | { 44 | _mutex.lock(); 45 | } 46 | catch (...) 47 | { 48 | poco_unexpected(); 49 | } 50 | } 51 | 52 | private: 53 | M& _mutex; 54 | 55 | ScopedUnlock(); 56 | ScopedUnlock(const ScopedUnlock&); 57 | ScopedUnlock& operator = (const ScopedUnlock&); 58 | }; 59 | 60 | 61 | } // namespace Poco 62 | 63 | 64 | #endif // Foundation_ScopedUnlock_INCLUDED 65 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Semaphore_VX.h: -------------------------------------------------------------------------------- 1 | // 2 | // Semaphore_VX.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Semaphore 7 | // 8 | // Definition of the SemaphoreImpl class for VxWorks. 9 | // 10 | // Copyright (c) 2004-20011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Semaphore_VX_INCLUDED 18 | #define Foundation_Semaphore_VX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API SemaphoreImpl 30 | { 31 | protected: 32 | SemaphoreImpl(int n, int max); 33 | ~SemaphoreImpl(); 34 | void setImpl(); 35 | void waitImpl(); 36 | bool waitImpl(long milliseconds); 37 | 38 | private: 39 | SEM_ID _sem; 40 | }; 41 | 42 | 43 | // 44 | // inlines 45 | // 46 | inline void SemaphoreImpl::setImpl() 47 | { 48 | if (semGive(_sem) != OK) 49 | throw SystemException("cannot signal semaphore"); 50 | } 51 | 52 | 53 | } // namespace Poco 54 | 55 | 56 | #endif // Foundation_Semaphore_VX_INCLUDED 57 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Semaphore_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // Semaphore_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Semaphore 7 | // 8 | // Definition of the SemaphoreImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Semaphore_WIN32_INCLUDED 18 | #define Foundation_Semaphore_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API SemaphoreImpl 30 | { 31 | protected: 32 | SemaphoreImpl(int n, int max); 33 | ~SemaphoreImpl(); 34 | void setImpl(); 35 | void waitImpl(); 36 | bool waitImpl(long milliseconds); 37 | 38 | private: 39 | HANDLE _sema; 40 | }; 41 | 42 | 43 | // 44 | // inlines 45 | // 46 | inline void SemaphoreImpl::setImpl() 47 | { 48 | if (!ReleaseSemaphore(_sema, 1, NULL)) 49 | { 50 | throw SystemException("cannot signal semaphore"); 51 | } 52 | } 53 | 54 | 55 | } // namespace Poco 56 | 57 | 58 | #endif // Foundation_Semaphore_WIN32_INCLUDED 59 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/SharedLibrary_HPUX.h: -------------------------------------------------------------------------------- 1 | // 2 | // SharedLibrary_HPUX.h 3 | // 4 | // Library: Foundation 5 | // Package: SharedLibrary 6 | // Module: SharedLibrary 7 | // 8 | // Definition of the SharedLibraryImpl class for HP-UX. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_SharedLibrary_HPUX_INCLUDED 18 | #define Foundation_SharedLibrary_HPUX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | #include 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API SharedLibraryImpl 30 | { 31 | protected: 32 | SharedLibraryImpl(); 33 | ~SharedLibraryImpl(); 34 | void loadImpl(const std::string& path, int flags); 35 | void unloadImpl(); 36 | bool isLoadedImpl() const; 37 | void* findSymbolImpl(const std::string& name); 38 | const std::string& getPathImpl() const; 39 | static std::string suffixImpl(); 40 | 41 | private: 42 | std::string _path; 43 | shl_t _handle; 44 | static FastMutex _mutex; 45 | }; 46 | 47 | 48 | } // namespace Poco 49 | 50 | 51 | #endif // Foundation_SharedLibrary_HPUX_INCLUDED 52 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/SharedLibrary_UNIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // SharedLibrary_UNIX.h 3 | // 4 | // Library: Foundation 5 | // Package: SharedLibrary 6 | // Module: SharedLibrary 7 | // 8 | // Definition of the SharedLibraryImpl class for UNIX (dlopen). 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_SharedLibrary_UNIX_INCLUDED 18 | #define Foundation_SharedLibrary_UNIX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API SharedLibraryImpl 29 | { 30 | protected: 31 | enum Flags 32 | { 33 | SHLIB_GLOBAL_IMPL = 1, 34 | SHLIB_LOCAL_IMPL = 2 35 | }; 36 | 37 | SharedLibraryImpl(); 38 | ~SharedLibraryImpl(); 39 | void loadImpl(const std::string& path, int flags); 40 | void unloadImpl(); 41 | bool isLoadedImpl() const; 42 | void* findSymbolImpl(const std::string& name); 43 | const std::string& getPathImpl() const; 44 | static std::string suffixImpl(); 45 | 46 | private: 47 | std::string _path; 48 | void* _handle; 49 | static FastMutex _mutex; 50 | }; 51 | 52 | 53 | } // namespace Poco 54 | 55 | 56 | #endif // Foundation_SharedLibrary_UNIX_INCLUDED 57 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/SharedLibrary_VX.h: -------------------------------------------------------------------------------- 1 | // 2 | // SharedLibrary_VX.h 3 | // 4 | // Library: Foundation 5 | // Package: SharedLibrary 6 | // Module: SharedLibrary 7 | // 8 | // Definition of the SharedLibraryImpl class for VxWorks. 9 | // 10 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_SharedLibrary_VX_INCLUDED 18 | #define Foundation_SharedLibrary_VX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | #include 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API SharedLibraryImpl 30 | { 31 | protected: 32 | SharedLibraryImpl(); 33 | ~SharedLibraryImpl(); 34 | void loadImpl(const std::string& path, int flags); 35 | void unloadImpl(); 36 | bool isLoadedImpl() const; 37 | void* findSymbolImpl(const std::string& name); 38 | const std::string& getPathImpl() const; 39 | static std::string suffixImpl(); 40 | 41 | private: 42 | std::string _path; 43 | MODULE_ID _moduleId; 44 | static FastMutex _mutex; 45 | }; 46 | 47 | 48 | } // namespace Poco 49 | 50 | 51 | #endif // Foundation_SharedLibrary_VX_INCLUDED 52 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/SharedLibrary_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // SharedLibrary_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: SharedLibrary 6 | // Module: SharedLibrary 7 | // 8 | // Definition of the SharedLibraryImpl class for Win32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_SharedLibrary_WIN32_INCLUDED 18 | #define Foundation_SharedLibrary_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API SharedLibraryImpl 29 | { 30 | protected: 31 | SharedLibraryImpl(); 32 | ~SharedLibraryImpl(); 33 | void loadImpl(const std::string& path, int flags); 34 | void unloadImpl(); 35 | bool isLoadedImpl() const; 36 | void* findSymbolImpl(const std::string& name); 37 | const std::string& getPathImpl() const; 38 | static std::string suffixImpl(); 39 | 40 | private: 41 | std::string _path; 42 | void* _handle; 43 | static FastMutex _mutex; 44 | }; 45 | 46 | 47 | } // namespace Poco 48 | 49 | 50 | #endif // Foundation_SharedLibrary_WIN32_INCLUDED 51 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/SharedLibrary_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // SharedLibrary_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: SharedLibrary 6 | // Module: SharedLibrary 7 | // 8 | // Definition of the SharedLibraryImpl class for Win32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_SharedLibrary_WIN32U_INCLUDED 18 | #define Foundation_SharedLibrary_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API SharedLibraryImpl 29 | { 30 | protected: 31 | SharedLibraryImpl(); 32 | ~SharedLibraryImpl(); 33 | void loadImpl(const std::string& path, int flags); 34 | void unloadImpl(); 35 | bool isLoadedImpl() const; 36 | void* findSymbolImpl(const std::string& name); 37 | const std::string& getPathImpl() const; 38 | static std::string suffixImpl(); 39 | 40 | private: 41 | std::string _path; 42 | void* _handle; 43 | static FastMutex _mutex; 44 | }; 45 | 46 | 47 | } // namespace Poco 48 | 49 | 50 | #endif // Foundation_SharedLibrary_WIN32U_INCLUDED 51 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/StreamChannel.h: -------------------------------------------------------------------------------- 1 | // 2 | // StreamChannel.h 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: StreamChannel 7 | // 8 | // Definition of the StreamChannel class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_StreamChannel_INCLUDED 18 | #define Foundation_StreamChannel_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Channel.h" 23 | #include "Poco/Mutex.h" 24 | #include 25 | 26 | 27 | namespace Poco { 28 | 29 | 30 | class Foundation_API StreamChannel: public Channel 31 | /// A channel that writes to an ostream. 32 | /// 33 | /// Only the message's text is written, followed 34 | /// by a newline. 35 | /// 36 | /// Chain this channel to a FormattingChannel with an 37 | /// appropriate Formatter to control what is contained 38 | /// in the text. 39 | { 40 | public: 41 | StreamChannel(std::ostream& str); 42 | /// Creates the channel. 43 | 44 | void log(const Message& msg); 45 | /// Logs the given message to the channel's stream. 46 | 47 | protected: 48 | virtual ~StreamChannel(); 49 | 50 | private: 51 | std::ostream& _str; 52 | FastMutex _mutex; 53 | }; 54 | 55 | 56 | } // namespace Poco 57 | 58 | 59 | #endif // Foundation_StreamChannel_INCLUDED 60 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/ValidArgs.h: -------------------------------------------------------------------------------- 1 | // 2 | // ValidArgs.h 3 | // 4 | // Library: Foundation 5 | // Package: Cache 6 | // Module: ValidArgs 7 | // 8 | // Definition of the ValidArgs class. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_ValidArgs_INCLUDED 18 | #define Foundation_ValidArgs_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | template 28 | class ValidArgs 29 | { 30 | public: 31 | ValidArgs(const TKey& key): 32 | _key(key), 33 | _isValid(true) 34 | { 35 | } 36 | 37 | ValidArgs(const ValidArgs& args): 38 | _key(args._key), 39 | _isValid(args._isValid) 40 | { 41 | } 42 | 43 | ~ValidArgs() 44 | { 45 | } 46 | 47 | const TKey& key() const 48 | { 49 | return _key; 50 | } 51 | 52 | bool isValid() const 53 | { 54 | return _isValid; 55 | } 56 | 57 | void invalidate() 58 | { 59 | _isValid = false; 60 | } 61 | 62 | protected: 63 | const TKey& _key; 64 | bool _isValid; 65 | 66 | private: 67 | ValidArgs& operator = (const ValidArgs& args); 68 | }; 69 | 70 | 71 | } // namespace Poco 72 | 73 | 74 | #endif // Foundation_ValidArgs_INCLUDED 75 | -------------------------------------------------------------------------------- /jni/poco1.8.1/include/Poco/Version.h: -------------------------------------------------------------------------------- 1 | // 2 | // Version.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Version 7 | // 8 | // Version information for the POCO C++ Libraries. 9 | // 10 | // Copyright (c) 2004-2016, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Version_INCLUDED 18 | #define Foundation_Version_INCLUDED 19 | 20 | 21 | // 22 | // Version Information 23 | // 24 | // Since 1.6.0, we're using Semantic Versioning 2.0 25 | // (http://semver.org/spec/v2.0.0.html) 26 | // 27 | // Version format is 0xAABBCCDD, where 28 | // - AA is the major version number, 29 | // - BB is the minor version number, 30 | // - CC is the patch version number, and 31 | // - DD is the pre-release designation/number. 32 | // The pre-release designation hex digits have a special meaning: 33 | // 00: final/stable releases 34 | // Dx: development releases 35 | // Ax: alpha releases 36 | // Bx: beta releases 37 | // 38 | #define POCO_VERSION 0x01080100 39 | 40 | 41 | #endif // Foundation_Version_INCLUDED 42 | -------------------------------------------------------------------------------- /src/CWLogger.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/src/CWLogger.h -------------------------------------------------------------------------------- /src/CWRequestHandler.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef CWREQ_HANDLER_H 3 | #define CWREQ_HANDLER_H 4 | 5 | #include "Poco/Net/HTTPServerRequest.h" 6 | #include "Poco/Net/HTTPServerResponse.h" 7 | #include "Poco/Net/HTTPRequestHandler.h" 8 | 9 | 10 | 11 | using Poco::Net::HTTPServerRequest; 12 | using Poco::Net::HTTPServerResponse; 13 | using Poco::Net::HTTPRequestHandler; 14 | 15 | 16 | class CWRequestHandler : public HTTPRequestHandler 17 | { 18 | public: 19 | CWRequestHandler(std::string& path); 20 | ~CWRequestHandler(void); 21 | 22 | int responseFile(HTTPServerResponse& response, std::string sendfilepath, std::string contentType); 23 | void handleRequest(HTTPServerRequest& request, HTTPServerResponse& response); 24 | bool handleWithParaRequest(HTTPServerRequest& request, HTTPServerResponse& response, std::string &url); 25 | 26 | private: 27 | 28 | std::string m_website_path; 29 | std::string m_index_path; 30 | std::string m_error_path; 31 | 32 | int sendError(HTTPServerResponse &response); 33 | }; 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/CWRequestHandlerFactory.cpp: -------------------------------------------------------------------------------- 1 | #include "CWRequestHandlerFactory.h" 2 | #include "CWRequestHandler.h" 3 | #include 4 | //#include "FileHandler.h" 5 | #include 6 | #include "CWLogger.h" 7 | #include "CWWebSocketServer.h" 8 | #include "Poco/URI.h" 9 | CWRequestHandlerFactory::CWRequestHandlerFactory() 10 | { 11 | 12 | } 13 | 14 | 15 | CWRequestHandlerFactory::~CWRequestHandlerFactory(void) 16 | { 17 | 18 | } 19 | 20 | HTTPRequestHandler* CWRequestHandlerFactory::createRequestHandler(const HTTPServerRequest& request) 21 | { 22 | std::string url = request.getURI(); 23 | if (request.find("Upgrade") != request.end() && Poco::icompare(request["Upgrade"], "websocket") == 0) 24 | { 25 | url = "/websocket"; 26 | } 27 | Poco::URI x(url); 28 | url = x.getPath(); 29 | if(uriRoute.find (url) != uriRoute.end ()) 30 | { 31 | //已经注册了的http路由 32 | std::string &className = uriRoute[url] ; 33 | return _httpReqFactory.createInstance (className); 34 | 35 | } 36 | //直接处理文件. 37 | return new CWRequestHandler(m_webdir); 38 | } 39 | 40 | bool CWRequestHandlerFactory::registerURI(std::string uri,HttpReqFactory* pFactory) 41 | { 42 | uriRoute[uri] = uri; 43 | _httpReqFactory.registerClass(uri, pFactory); 44 | return true; 45 | } 46 | 47 | void CWRequestHandlerFactory::setPath(std::string &path) 48 | { 49 | m_webdir = path; 50 | } 51 | -------------------------------------------------------------------------------- /src/CWRequestHandlerFactory.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Poco/Net/HTTPRequestHandlerFactory.h" 4 | #include "CWRequestHandler.h" 5 | #include "Poco/DynamicFactory.h" 6 | 7 | 8 | using Poco::Net::HTTPRequestHandlerFactory; 9 | 10 | class CWRequestHandlerFactory : public HTTPRequestHandlerFactory 11 | { 12 | public: 13 | typedef Poco::AbstractInstantiator HttpReqFactory; 14 | CWRequestHandlerFactory(); 15 | ~CWRequestHandlerFactory(void); 16 | 17 | HTTPRequestHandler* createRequestHandler(const HTTPServerRequest& request); 18 | bool registerURI(std::string uri,HttpReqFactory* pFactory); 19 | HTTPRequestHandler* createRequestHandler (const std::string& className) const 20 | { 21 | return _httpReqFactory.createInstance (className); 22 | } 23 | void setPath(std::string& path); 24 | 25 | 26 | public: 27 | std::string m_webdir; 28 | 29 | std::map uriRoute; 30 | Poco::DynamicFactory _httpReqFactory; 31 | }; 32 | 33 | -------------------------------------------------------------------------------- /src/common.h: -------------------------------------------------------------------------------- 1 | #ifndef COMMON_H 2 | #define COMMON_H 3 | #include "Poco/Types.h" 4 | struct VideoBuf 5 | { 6 | char id[255]; 7 | void* buffer; 8 | int size; 9 | int w; 10 | int h; 11 | Poco::Int64 pts; 12 | Poco::Int64 recvTime; 13 | Poco::UInt64 frameSeq; 14 | bool iskey; 15 | int format; 16 | }; 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /src/datapacket.h: -------------------------------------------------------------------------------- 1 | #ifndef DATAPACKET_H 2 | #define DATAPACKET_H 3 | #include 4 | struct Packet{ 5 | Packet(): 6 | key(false){ 7 | 8 | } 9 | Packet(unsigned char* _data, int size,bool _key=false): 10 | key(_key) 11 | { 12 | data.assign(_data,_data+size); 13 | } 14 | bool key; 15 | unsigned int nTimeStamp; 16 | std::vector data; 17 | }; 18 | #endif // DATAPACKET_H 19 | 20 | -------------------------------------------------------------------------------- /src/dataqueue.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/src/dataqueue.cpp -------------------------------------------------------------------------------- /src/ffavframe.h: -------------------------------------------------------------------------------- 1 | #ifndef FFAVFRAME_H 2 | #define FFAVFRAME_H 3 | 4 | #include "ffconfig.h" 5 | 6 | class FFAvFrame 7 | { 8 | public: 9 | FFAvFrame(); 10 | ~FFAvFrame(); 11 | int alloc(int width, int height,AVPixelFormat format,int algin=16); 12 | int setBuffer(void* data,int width, int height,AVPixelFormat format); 13 | int getBuffer(void* data, int size); 14 | int free(); 15 | 16 | AVFrame* get(); 17 | FFAvFrame(FFAvFrame& frame); 18 | FFAvFrame& operator=(FFAvFrame& frame); 19 | private: 20 | 21 | AVFrame *_frame; 22 | bool _bAlloc; 23 | 24 | }; 25 | 26 | #endif // FFAVFRAME_H 27 | -------------------------------------------------------------------------------- /src/ffmpegencoder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/src/ffmpegencoder.cpp -------------------------------------------------------------------------------- /src/ffutils.cpp: -------------------------------------------------------------------------------- 1 | #include "ffutils.h" 2 | 3 | FFUtils::FFUtils() 4 | { 5 | 6 | } 7 | AVFrame* FFUtils::alloc_picture(enum AVPixelFormat pix_fmt, int width, int height) 8 | { 9 | AVFrame *picture; 10 | int ret; 11 | 12 | picture = av_frame_alloc(); 13 | if (!picture) 14 | return NULL; 15 | 16 | picture->format = pix_fmt; 17 | picture->width = width; 18 | picture->height = height; 19 | 20 | /* allocate the buffers for the frame data */ 21 | ret = av_frame_get_buffer(picture, 32); 22 | if (ret < 0) { 23 | fprintf(stderr, "Could not allocate frame data.\n"); 24 | av_frame_free(&picture); 25 | return NULL; 26 | } 27 | 28 | return picture; 29 | } 30 | std::string FFUtils::getErrorDesc(int err) 31 | { 32 | char buf[2048] = {0,}; 33 | av_strerror(err,buf,2048); 34 | return buf; 35 | } 36 | -------------------------------------------------------------------------------- /src/ffutils.h: -------------------------------------------------------------------------------- 1 | #ifndef FFUTILS_H 2 | #define FFUTILS_H 3 | 4 | #include "ffconfig.h" 5 | #include 6 | class FFUtils 7 | { 8 | public: 9 | FFUtils(); 10 | static AVFrame *alloc_picture(enum AVPixelFormat pix_fmt, int width, int height); 11 | static std::string getErrorDesc(int err); 12 | }; 13 | 14 | 15 | 16 | #endif // FFUTILS_H 17 | -------------------------------------------------------------------------------- /src/flvmuxer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/src/flvmuxer.cpp -------------------------------------------------------------------------------- /src/h5liveserver.h: -------------------------------------------------------------------------------- 1 | #ifndef H5LIVESERVER_H 2 | #define H5LIVESERVER_H 3 | 4 | #include 5 | #include "streamchannel.h" 6 | 7 | 8 | class H5LIVESERVER_API H5liveServer 9 | { 10 | public: 11 | H5liveServer(); 12 | static H5liveServer& get(); 13 | int start(const std::string webroot, int port); 14 | int push264(const std::string &name, unsigned char* data, int size,long long pts=0); 15 | int addStream(const std::string &name); 16 | int removeStream(const std::string &name); 17 | int getClientNum(const std::string& name); 18 | private: 19 | 20 | 21 | }; 22 | 23 | #endif // H5LIVESERVER_H 24 | -------------------------------------------------------------------------------- /src/mediatype.cpp: -------------------------------------------------------------------------------- 1 | #include "mediatype.h" 2 | #include "MediaTypeMapper.h" 3 | #include "Poco/SingletonHolder.h" 4 | #include "Poco/FileStream.h" 5 | #include "CWLogger.h" 6 | static HttpMediaTypeMapper m_mediaTypes; 7 | MediaType::MediaType() 8 | { 9 | 10 | } 11 | 12 | MediaType &MediaType::get() 13 | { 14 | static Poco::SingletonHolder sh; 15 | return *sh.get(); 16 | } 17 | 18 | void MediaType::load(std::string path) 19 | { 20 | try 21 | { 22 | //std::string mime_path = Poco::Path::current ()+"mime.types"; 23 | Poco::FileInputStream fis(path); 24 | m_mediaTypes.load(fis); 25 | } 26 | catch(...) 27 | { 28 | cw_warn("can not load mime.types\r\n"); 29 | loadDefaultMimes(); 30 | } 31 | } 32 | void MediaType::loadDefaultMimes() 33 | { 34 | 35 | m_mediaTypes.add("html","text/html"); 36 | m_mediaTypes.add("js","application/javascript"); 37 | m_mediaTypes.add("png","image/png"); 38 | m_mediaTypes.add("css","text/css"); 39 | m_mediaTypes.add("gif","image/gif"); 40 | m_mediaTypes.add("jpg","image/jpeg"); 41 | 42 | } 43 | 44 | 45 | const std::string& getMime(std::string& suffix) 46 | { 47 | return m_mediaTypes.map(suffix); 48 | } 49 | -------------------------------------------------------------------------------- /src/mediatype.h: -------------------------------------------------------------------------------- 1 | #ifndef MEDIATYPE_H 2 | #define MEDIATYPE_H 3 | 4 | #include 5 | class MediaType 6 | { 7 | public: 8 | MediaType(); 9 | static MediaType& get(); 10 | void load(std::string path); 11 | const std::string& getMime(std::string& suffix); 12 | private: 13 | 14 | void loadDefaultMimes(); 15 | }; 16 | 17 | #endif // MEDIATYPE_H 18 | -------------------------------------------------------------------------------- /src/pushermanager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/src/pushermanager.h -------------------------------------------------------------------------------- /src/pusherpair.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/src/pusherpair.cpp -------------------------------------------------------------------------------- /src/pusherpair.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/src/pusherpair.h -------------------------------------------------------------------------------- /src/streamchannel.h: -------------------------------------------------------------------------------- 1 | #ifndef STREAMCHANNEL_H 2 | #define STREAMCHANNEL_H 3 | #include "flvmuxer.h" 4 | #include "CWHttpServer.h" 5 | #include "Poco/Activity.h" 6 | #include "Poco/Net/WebSocket.h" 7 | 8 | #ifdef _WIN32 9 | #ifdef H5LIVESERVER_EXPORTS 10 | #define H5LIVESERVER_API __declspec(dllexport) 11 | #else 12 | #define H5LIVESERVER_API 13 | #endif 14 | #else 15 | #define H5LIVESERVER_API 16 | #endif 17 | 18 | class H5LIVESERVER_API StreamChannel 19 | { 20 | public: 21 | StreamChannel(const std::string &name); 22 | ~StreamChannel(); 23 | 24 | int push(Poco::UInt8* data, int size,Poco::Int64 pts=0); 25 | int flush(); 26 | void run(); 27 | 28 | 29 | void onWebSocketConnected(const void *pSender, Poco::Net::WebSocket*& socket); 30 | private: 31 | int open(); 32 | int close(); 33 | FlvMuxer _muxer; 34 | std::string _name; 35 | Poco::Activity _activity; 36 | 37 | bool sendFrame(Poco::Net::WebSocket *socket, const char *buffer, int sz); 38 | }; 39 | 40 | #endif // STREAMCHANNEL_H 41 | -------------------------------------------------------------------------------- /src/videopp.h: -------------------------------------------------------------------------------- 1 | #ifndef VIDEOPP_H 2 | #define VIDEOPP_H 3 | 4 | #include "ffconfig.h" 5 | class VideoPP 6 | { 7 | public: 8 | VideoPP(); 9 | ~VideoPP(); 10 | bool uninit(); 11 | bool init(AVPixelFormat sFmt, int sw, int sh,AVPixelFormat dFmt, int dw, int dh); 12 | AVFrame* filter(AVFrame* frame); 13 | private: 14 | AVFrame* dst_frame; 15 | struct SwsContext *sws_ctx; 16 | bool _convert; 17 | int _sh; 18 | }; 19 | 20 | #endif // VIDEOPP_H 21 | -------------------------------------------------------------------------------- /src/videoqueue.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/src/videoqueue.cpp -------------------------------------------------------------------------------- /src/videoqueue.h: -------------------------------------------------------------------------------- 1 | #ifndef VIDEO_CAPTURE_H 2 | #define VIDEO_CAPTURE_H 3 | 4 | #include "Poco/Mutex.h" 5 | #include "Poco/Condition.h" 6 | #include 7 | #include "ffconfig.h" 8 | class FrameQueue{ 9 | public: 10 | FrameQueue(int size = 30); 11 | ~FrameQueue(); 12 | int setMaxSize(int size); 13 | void wait(); 14 | int push(AVFrame* frame); 15 | AVFrame* pop(); 16 | int put(AVFrame* frame); 17 | AVFrame* take(long timeout=-1); 18 | size_t size(); 19 | 20 | 21 | private: 22 | 23 | Poco::Mutex _mutex; 24 | Poco::Condition _notEmpty; 25 | std::queue video_queue; 26 | int _maxSize; 27 | AVFrame* _frame; 28 | 29 | 30 | }; 31 | #endif 32 | -------------------------------------------------------------------------------- /test.flv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/test.flv -------------------------------------------------------------------------------- /web/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["es2015"] 3 | } -------------------------------------------------------------------------------- /web/.eslintignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | node_modules/ -------------------------------------------------------------------------------- /web/demo/test.flv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/web/demo/test.flv -------------------------------------------------------------------------------- /web/docs/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/web/docs/architecture.png -------------------------------------------------------------------------------- /web/docs/design.md: -------------------------------------------------------------------------------- 1 | 2 | flv.js design 3 | ====== 4 | 5 | Architecture overview: 6 | 7 | ![arch](architecture.png) 8 | -------------------------------------------------------------------------------- /web/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteman/h5live/0e59c7e8d638a8706e85d48839321f7477accb06/web/favicon.ico -------------------------------------------------------------------------------- /web/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flv.js", 3 | "version": "1.4.0", 4 | "description": "HTML5 FLV Player", 5 | "main": "./dist/flv.js", 6 | "module": "./src/flv.js", 7 | "jsnext:main": "./src/flv.js", 8 | "types": "./d.ts/flv.d.ts", 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/Bilibili/flv.js" 12 | }, 13 | "keywords": [ 14 | "html5", 15 | "flv", 16 | "mse", 17 | "javascript" 18 | ], 19 | "scripts": { 20 | "dev": "gulp watch", 21 | "build": "gulp release" 22 | }, 23 | "dependencies": { 24 | "es6-promise": "^4.1.0", 25 | "webworkify": "^1.4.0" 26 | }, 27 | "devDependencies": { 28 | "babel-preset-es2015": "^6.24.0", 29 | "babelify": "^7.3.0", 30 | "browser-sync": "^2.18.13", 31 | "browserify": "^13.1.1", 32 | "browserify-derequire": "^0.9.4", 33 | "browserify-versionify": "^1.0.6", 34 | "del": "^2.2.0", 35 | "opn": "^5.1.0", 36 | "gulp": "^3.9.1", 37 | "gulp-cli": "^1.2.2", 38 | "gulp-eslint": "^3.0.1", 39 | "gulp-header": "^1.8.8", 40 | "gulp-rename": "^1.2.2", 41 | "gulp-sourcemaps": "^2.4.1", 42 | "gulp-uglify": "^2.1.1", 43 | "vinyl-buffer": "^1.0.0", 44 | "vinyl-source-stream": "^1.1.0", 45 | "watchify": "^3.9.0" 46 | }, 47 | "author": "zheng qian ", 48 | "license": "Apache-2.0" 49 | } 50 | -------------------------------------------------------------------------------- /web/src/core/mse-events.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Bilibili. All Rights Reserved. 3 | * 4 | * @author zheng qian 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | const MSEEvents = { 20 | ERROR: 'error', 21 | SOURCE_OPEN: 'source_open', 22 | UPDATE_END: 'update_end', 23 | BUFFER_FULL: 'buffer_full' 24 | }; 25 | 26 | export default MSEEvents; -------------------------------------------------------------------------------- /web/src/core/transmuxing-events.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Bilibili. All Rights Reserved. 3 | * 4 | * @author zheng qian 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | const TransmuxingEvents = { 20 | IO_ERROR: 'io_error', 21 | DEMUX_ERROR: 'demux_error', 22 | INIT_SEGMENT: 'init_segment', 23 | MEDIA_SEGMENT: 'media_segment', 24 | LOADING_COMPLETE: 'loading_complete', 25 | RECOVERED_EARLY_EOF: 'recovered_early_eof', 26 | MEDIA_INFO: 'media_info', 27 | STATISTICS_INFO: 'statistics_info', 28 | RECOMMEND_SEEKPOINT: 'recommend_seekpoint' 29 | }; 30 | 31 | export default TransmuxingEvents; -------------------------------------------------------------------------------- /web/src/demux/demux-errors.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Bilibili. All Rights Reserved. 3 | * 4 | * @author zheng qian 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | const DemuxErrors = { 20 | OK: 'OK', 21 | FORMAT_ERROR: 'FormatError', 22 | FORMAT_UNSUPPORTED: 'FormatUnsupported', 23 | CODEC_UNSUPPORTED: 'CodecUnsupported' 24 | }; 25 | 26 | export default DemuxErrors; -------------------------------------------------------------------------------- /web/src/index.js: -------------------------------------------------------------------------------- 1 | // entry/index file 2 | 3 | // make it compatible with browserify's umd wrapper 4 | module.exports = require('./flv.js').default; 5 | -------------------------------------------------------------------------------- /web/src/player/player-events.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Bilibili. All Rights Reserved. 3 | * 4 | * @author zheng qian 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | const PlayerEvents = { 20 | ERROR: 'error', 21 | LOADING_COMPLETE: 'loading_complete', 22 | RECOVERED_EARLY_EOF: 'recovered_early_eof', 23 | MEDIA_INFO: 'media_info', 24 | STATISTICS_INFO: 'statistics_info' 25 | }; 26 | 27 | export default PlayerEvents; --------------------------------------------------------------------------------