├── .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 |
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 | 
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;
--------------------------------------------------------------------------------