Permalink
Browse files

New MS Surface Pro 2 project

Extra project needed with more advanced camera utils to get high-def
images.
  • Loading branch information...
1 parent 7ec7aec commit 82b4c317fb571405b05d5f3de7a9940d4d3112ac @errollw committed Mar 11, 2014
Showing with 31,398 additions and 0 deletions.
  1. +608 −0 EyeTab_SP2/EyeTab_SP2.cpp
  2. +4,397 −0 EyeTab_SP2/GetGUID.h
  3. +40 −0 EyeTab_SP2/ReadMe.txt
  4. +150 −0 EyeTab_SP2/comet/array.h
  5. +68 −0 EyeTab_SP2/comet/assert.h
  6. +121 −0 EyeTab_SP2/comet/atl_module.h
  7. +99 −0 EyeTab_SP2/comet/auto_buffer.h
  8. +948 −0 EyeTab_SP2/comet/bstr.h
  9. +628 −0 EyeTab_SP2/comet/calllog.h
  10. +101 −0 EyeTab_SP2/comet/cmd_line_parser.h
  11. +776 −0 EyeTab_SP2/comet/comet.h
  12. +316 −0 EyeTab_SP2/comet/common.h
  13. +243 −0 EyeTab_SP2/comet/config.h
  14. +436 −0 EyeTab_SP2/comet/cp.h
  15. +118 −0 EyeTab_SP2/comet/cptraits.h
  16. +474 −0 EyeTab_SP2/comet/currency.h
  17. +396 −0 EyeTab_SP2/comet/date.h
  18. +1,943 −0 EyeTab_SP2/comet/datetime.h
  19. +675 −0 EyeTab_SP2/comet/dispatch.h
  20. +29 −0 EyeTab_SP2/comet/enum.h
  21. +187 −0 EyeTab_SP2/comet/enum_common.h
  22. +179 −0 EyeTab_SP2/comet/enum_iterator.h
  23. +429 −0 EyeTab_SP2/comet/error.h
  24. +119 −0 EyeTab_SP2/comet/error_fwd.h
  25. +292 −0 EyeTab_SP2/comet/exe_server.h
  26. +1,341 −0 EyeTab_SP2/comet/functor.h
  27. +95 −0 EyeTab_SP2/comet/git.h
  28. +363 −0 EyeTab_SP2/comet/handle.h
  29. +363 −0 EyeTab_SP2/comet/handle_except.h
  30. +546 −0 EyeTab_SP2/comet/impqi.h
  31. +256 −0 EyeTab_SP2/comet/interface.h
  32. +126 −0 EyeTab_SP2/comet/invariant_lock.h
  33. +228 −0 EyeTab_SP2/comet/lw_lock.h
  34. +274 −0 EyeTab_SP2/comet/module.h
  35. +72 −0 EyeTab_SP2/comet/oleidl_comtypes.h
  36. +1,261 −0 EyeTab_SP2/comet/ptr.h
  37. +100 −0 EyeTab_SP2/comet/reference_count.h
  38. +1,302 −0 EyeTab_SP2/comet/registry.h
  39. +65 −0 EyeTab_SP2/comet/regkey.h
  40. +1,498 −0 EyeTab_SP2/comet/safearray.h
  41. +363 −0 EyeTab_SP2/comet/scope_guard.h
  42. +1,588 −0 EyeTab_SP2/comet/server.h
  43. +139 −0 EyeTab_SP2/comet/smart_enum.h
  44. +54 −0 EyeTab_SP2/comet/static_assert.h
  45. +69 −0 EyeTab_SP2/comet/stl.h
  46. +188 −0 EyeTab_SP2/comet/stl_enum.h
  47. +1,566 −0 EyeTab_SP2/comet/stream.h
  48. +228 −0 EyeTab_SP2/comet/threading.h
  49. +451 −0 EyeTab_SP2/comet/tlbinfo.h
  50. +124 −0 EyeTab_SP2/comet/tstring.h
  51. +262 −0 EyeTab_SP2/comet/type_traits.h
  52. +450 −0 EyeTab_SP2/comet/typelist.h
  53. +86 −0 EyeTab_SP2/comet/unittest.h
  54. +125 −0 EyeTab_SP2/comet/util.h
  55. +88 −0 EyeTab_SP2/comet/uuid.h
  56. +441 −0 EyeTab_SP2/comet/uuid_fwd.h
  57. +1,054 −0 EyeTab_SP2/comet/variant.h
  58. +149 −0 EyeTab_SP2/comet/variant_iterator.h
  59. +78 −0 EyeTab_SP2/comet_task_ptr.h
  60. +733 −0 EyeTab_SP2/format.cc
  61. +1,500 −0 EyeTab_SP2/format.h
View

Large diffs are not rendered by default.

Oops, something went wrong.
View

Large diffs are not rendered by default.

Oops, something went wrong.
View
@@ -0,0 +1,40 @@
+========================================================================
+ CONSOLE APPLICATION : EyeTab_SP2 Project Overview
+========================================================================
+
+AppWizard has created this EyeTab_SP2 application for you.
+
+This file contains a summary of what you will find in each of the files that
+make up your EyeTab_SP2 application.
+
+
+EyeTab_SP2.vcxproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+EyeTab_SP2.vcxproj.filters
+ This is the filters file for VC++ projects generated using an Application Wizard.
+ It contains information about the association between the files in your project
+ and the filters. This association is used in the IDE to show grouping of files with
+ similar extensions under a specific node (for e.g. ".cpp" files are associated with the
+ "Source Files" filter).
+
+EyeTab_SP2.cpp
+ This is the main application source file.
+
+/////////////////////////////////////////////////////////////////////////////
+Other standard files:
+
+StdAfx.h, StdAfx.cpp
+ These files are used to build a precompiled header (PCH) file
+ named EyeTab_SP2.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
View
@@ -0,0 +1,150 @@
+/** \file
+* Array wrapper.
+*/
+/*
+* Copyright © 2001 Sofus Mortensen
+*
+* This material is provided "as is", with absolutely no warranty
+* expressed or implied. Any use is at your own risk. Permission to
+* use or copy this software for any purpose is hereby granted without
+* fee, provided the above notices are retained on all copies.
+* Permission to modify the code and to distribute modified code is
+* granted, provided the above notices are retained, and a notice that
+* the code was modified is included with the above copyright notice.
+*
+* This header is part of Comet version 2.
+* https://github.com/alamaison/comet
+*
+*/
+
+/*
+* comet::array_t is adapted from class array by Nicolai M. Josuttis
+*
+* (C) Copyright Nicolai M. Josuttis 2001.
+* Permission to copy, use, modify, sell and distribute this software
+* is granted provided this copyright notice appears in all copies.
+* This software is provided "as is" without express or implied
+* warranty, and with no claim as to its suitability for any purpose.
+*
+*/
+
+#ifndef COMET_ARRAY_H
+#define COMET_ARRAY_H
+
+#include <cstddef>
+#include <stdexcept>
+#include <iterator>
+#include <algorithm>
+#include <vector>
+
+namespace comet {
+
+#pragma pack(push)
+#pragma pack(1)
+
+ /*!\addtogroup Misc
+ */
+ //@{
+
+ template<typename T, size_t SZ> class array_t
+ {
+ T a_[SZ];
+ public:
+ typedef T value_type;
+ typedef typename std::vector<T>::iterator iterator;
+ typedef typename std::vector<T>::const_iterator const_iterator;
+
+ typedef typename std::vector<T>::reverse_iterator reverse_iterator;
+ typedef typename std::vector<T>::const_reverse_iterator const_reverse_iterator;
+
+ typedef typename std::vector<T>::size_type size_type;
+ typedef typename std::vector<T>::difference_type difference_type;
+
+ typedef T& reference;
+ typedef const T& const_reference;
+
+ // reference operator[](size_type i) { return a_[i]; }
+ // const_reference operator[](size_type i) const { return a_[i]; }
+
+ iterator begin() { return iterator(a_); }
+ iterator end() { return iterator(a_ + SZ); }
+ const_iterator begin() const { return const_iterator(a_); }
+ const_iterator end() const { return const_iterator(a_ + SZ); }
+
+ reverse_iterator rbegin() { return reverse_iterator(a_); }
+ reverse_iterator rend() { return reverse_iterator(a_ + SZ); }
+ const_reverse_iterator rbegin() const { return const_reverse_iterator(a_); }
+ const_reverse_iterator rend() const { return const_reverse_iterator(a_ + SZ); }
+
+ operator const T*() const { return a_; }
+ operator T*() { return a_; }
+
+ static size_type size() { return SZ; }
+ static bool empty() { return false; }
+ static size_type max_size() { return SZ; }
+ enum { static_size = SZ };
+
+ reference front() { return a_[0]; }
+ const_reference front() const { return a_[0]; }
+ reference back() { return a_[SZ-1]; };
+ const_reference back() const { return a_[SZ-1]; }
+
+ // swap (note: linear complexity)
+ void swap (array_t<T,SZ>& y) {
+ std::swap_ranges(begin(),end(),y.begin());
+ }
+
+ // assignment with type conversion
+ template <typename T2>
+ array_t<T,SZ>& operator= (const array_t<T2,SZ>& rhs) {
+ std::copy(rhs.begin(),rhs.end(), begin());
+ return *this;
+ }
+
+ // assign one value to all elements
+ void assign (const T& value)
+ {
+ std::fill_n(begin(),size(),value);
+ }
+
+ reference at(size_type i) { rangecheck(i); return a_[i]; }
+ const_reference at(size_type i) const { rangecheck(i); return a_[i]; }
+
+ private:
+ // check range (may be private because it is static)
+ static void rangecheck (size_type i) {
+ if (i >= size()) { throw std::range_error("array"); }
+ }
+
+ };
+ //@}
+#pragma pack(pop)
+
+ // comparisons
+ template<class T, size_t SZ>
+ bool operator== (const array_t<T,SZ>& x, const array_t<T,SZ>& y) {
+ return std::equal(x.begin(), x.end(), y.begin());
+ }
+ template<class T, size_t SZ>
+ bool operator< (const array_t<T,SZ>& x, const array_t<T,SZ>& y) {
+ return std::lexicographical_compare(x.begin(),x.end(),y.begin(),y.end());
+ }
+ template<class T, size_t SZ>
+ bool operator!= (const array_t<T,SZ>& x, const array_t<T,SZ>& y) {
+ return !(x==y);
+ }
+ template<class T, size_t SZ>
+ bool operator> (const array_t<T,SZ>& x, const array_t<T,SZ>& y) {
+ return y<x;
+ }
+ template<class T, size_t SZ>
+ bool operator<= (const array_t<T,SZ>& x, const array_t<T,SZ>& y) {
+ return !(y<x);
+ }
+ template<class T, size_t SZ>
+ bool operator>= (const array_t<T,SZ>& x, const array_t<T,SZ>& y) {
+ return !(x<y);
+ }
+}
+
+#endif
View
@@ -0,0 +1,68 @@
+/** \file
+ Provide run-time asserts.
+ */
+/*
+ * Copyright © 2001 Sofus Mortensen
+ *
+ * This material is provided "as is", with absolutely no warranty
+ * expressed or implied. Any use is at your own risk. Permission to
+ * use or copy this software for any purpose is hereby granted without
+ * fee, provided the above notices are retained on all copies.
+ * Permission to modify the code and to distribute modified code is
+ * granted, provided the above notices are retained, and a notice that
+ * the code was modified is included with the above copyright notice.
+ *
+ * This header is part of Comet version 2.
+ * https://github.com/alamaison/comet
+ */
+
+#ifndef COMET_ASSERT_H
+#define COMET_ASSERT_H
+
+#include <stdexcept>
+
+# if defined(COMET_ASSERT_THROWS) || defined(COMET_ASSERT_THROWS_ALWAYS)
+# if defined(COMET_ASSERT_THROWS_ALWAYS) || !defined(NDEBUG)
+namespace comet
+{
+ /*! \defgroup ErrorHandling Error handling.
+ */
+ //@{
+//! Indicates a comet assertion failed.
+/** This is enabled for debug builds if COMET_ASSERT_THROWS is defined and
+ * enabled for both debug and release if COMET_ASSERT_THROWS_ALWAYS is defined.
+ */
+struct assert_failed : std::runtime_error
+{
+ assert_failed( const char *val) : runtime_error(val) {}
+};
+ //@}
+}
+# define COMET_ASSERT(x_) if (x_) ; else throw comet::assert_failed("Assert Failed: " #x_ );
+# define COMET_THROWS_ASSERT throw( comet::assert_failed)
+# else
+# define COMET_ASSERT(x_) ;
+# endif
+
+# else
+# define COMET_THROWS_ASSERT throw()
+# ifndef __CYGWIN__
+
+# include <crtdbg.h>
+# define COMET_ASSERT _ASSERTE
+
+# else
+
+# include <assert.h>
+# define COMET_ASSERT assert
+# endif
+# endif
+/*! \addtogroup ErrorHandling
+ */
+//@{
+/** \def COMET_ASSERT Assertion in commet.
+ * \sa COMET_THROWS_ASSERT COMET_ASSERT_THROWS_ALWAYS
+ */
+ //@}
+
+#endif
@@ -0,0 +1,121 @@
+/** \file
+ * ATL Module Compatability wrapper.
+ */
+/*
+ * Copyright © 2000, 2001 Paul Hollingsworth, Michael Geddes
+ * Copyright © 2013 Alexander Lamaison
+ *
+ * This material is provided "as is", with absolutely no warranty
+ * expressed or implied. Any use is at your own risk. Permission to
+ * use or copy this software for any purpose is hereby granted without
+ * fee, provided the above notices are retained on all copies.
+ * Permission to modify the code and to distribute modified code is
+ * granted, provided the above notices are retained, and a notice that
+ * the code was modified is included with the above copyright notice.
+ *
+ * This header is part of Comet version 2.
+ * https://github.com/alamaison/comet
+ */
+
+#ifndef COMET_ATL_MODULE_H
+#define COMET_ATL_MODULE_H
+
+#include <comet/server.h>
+
+#include <atlbase.h>
+
+namespace comet {
+ /*! \defgroup ATL ATL conversion.
+ */
+ //@{
+
+ /** \struct declspec_comtype atl_module.h comet/atl_module.h
+ * Helper to create a 'comtype' for a non-comet interface.
+ * \code
+ * namespace comet{
+ * template<> struct comtype<IApplicationOption> :
+ * declspec_comtype<IApplicationOption, ::IDispatch >
+ * { };
+ * };
+ * \endcode
+ *
+ */
+ template<typename ITF, typename BASE = ::IUnknown> struct declspec_comtype
+ {
+ static const uuid_t& uuid() { return uuid_t::create_const_reference(__uuidof(ITF)); }
+ typedef BASE base;
+ };
+
+
+ /// Placeholder for an empty comet typelibrary.
+ struct empty_typelib
+ {
+ typedef nil coclasses;
+ };
+
+ template<typename COM_SERVER, typename ATL_MODULE = ATL::CComModule>
+ class atl_module_ex : public ATL_MODULE
+ {
+ // ATL will take the responsibility of registering the embedded type library.
+ public:
+ HRESULT Init(_ATL_OBJMAP_ENTRY* p, HINSTANCE h, const GUID* plibid = NULL)
+ {
+ module().instance(h);
+ return ATL_MODULE::Init(p, h, plibid);
+ }
+
+ HRESULT RegisterServer(BOOL bRegTypeLib = FALSE, const CLSID* pCLSID = NULL)
+ {
+ HRESULT hr = ATL_MODULE::RegisterServer(bRegTypeLib, pCLSID);
+ if(SUCCEEDED(hr))
+ hr = COM_SERVER::DllRegisterServer();
+ return hr;
+ }
+
+ HRESULT UnregisterServer(BOOL bUnRegTypeLib, const CLSID* pCLSID = NULL)
+ {
+ COM_SERVER::DllUnregisterServer();
+ return ATL_MODULE::UnregisterServer(bUnRegTypeLib, pCLSID);
+ }
+
+ HRESULT GetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
+ {
+ HRESULT hr = COM_SERVER::DllGetClassObject( rclsid, riid, ppv);
+ if( hr == CLASS_E_CLASSNOTAVAILABLE )
+ {
+ hr = ATL_MODULE::GetClassObject(rclsid, riid,ppv);
+ }
+ return hr;
+ }
+
+ LONG GetLockCount()
+ {
+ return module().rc() + ATL_MODULE::GetLockCount();
+ }
+ };
+
+ /** Wraps an ATL::CComModule to provide co-existing ATL/Comet co-classes.
+ * ATL will take responsibility for registering the embedded type-library.
+ *
+ * Here is an example of how to use it:
+ * \code
+ * struct typelib_subset
+ * {
+ * typedef COMET_STRICT_TYPENAME comet::typelist::make_list< CoClass1, CoClass2 > coclasses;
+ * };
+ * comet::atl_module<typelib_subset> _Module;
+ * \endcode
+ * And in std.h:
+ * \code
+ * struct typelib_subset;
+ * extern comet::atl_module<typelib_subset> _Module;
+ * \endcode
+ */
+ template<typename TYPELIB = empty_typelib, typename ATL_MODULE = ATL::CComModule>
+ class atl_module : public atl_module_ex< com_server<TYPELIB, com_server_traits<NO_EMBEDDED_TLB> >, ATL_MODULE >
+ {
+ };
+ //@}
+} // namespace comet
+
+#endif
Oops, something went wrong.

0 comments on commit 82b4c31

Please sign in to comment.