]> sigrok.org Git - libsigrok.git/commitdiff
Make sr_session_new() and sr_session_load() require a context.
authorMartin Ling <redacted>
Wed, 25 Mar 2015 01:41:10 +0000 (01:41 +0000)
committerUwe Hermann <redacted>
Thu, 26 Mar 2015 00:02:40 +0000 (01:02 +0100)
bindings/cxx/classes.cpp
include/libsigrok/proto.h
src/session.c
src/session_file.c

index c08279051b18377726bde6ed20e80f01ba6e4601..c88dc56683473d21c419333a5a0aa231b9d85195 100644 (file)
@@ -888,7 +888,7 @@ Session::Session(shared_ptr<Context> context) :
        _context(context),
        _saving(false)
 {
-       check(sr_session_new(&_structure));
+       check(sr_session_new(context->structure, &_structure));
        _context->_session = this;
 }
 
index c2c094379b78afb90f14b1c18c1a1621fb161d7c..2bd2506997ac67a06fe83554f3c3231212086afe 100644 (file)
@@ -105,8 +105,9 @@ typedef void (*sr_datafeed_callback)(const struct sr_dev_inst *sdi,
 SR_API struct sr_trigger *sr_session_trigger_get(struct sr_session *session);
 
 /* Session setup */
-SR_API int sr_session_load(const char *filename, struct sr_session **session);
-SR_API int sr_session_new(struct sr_session **session);
+SR_API int sr_session_load(struct sr_context *ctx, const char *filename,
+       struct sr_session **session);
+SR_API int sr_session_new(struct sr_context *ctx, struct sr_session **session);
 SR_API int sr_session_destroy(struct sr_session *session);
 SR_API int sr_session_dev_remove_all(struct sr_session *session);
 SR_API int sr_session_dev_add(struct sr_session *session,
index 765a20c451471b1266be4103544ad77f0979c1d1..736b2aa5d96530cf59c5988f83731cb19fdf0ea1 100644 (file)
@@ -62,6 +62,7 @@ struct datafeed_callback {
 /**
  * Create a new session.
  *
+ * @param ctx         The context in which to create the new session.
  * @param new_session This will contain a pointer to the newly created
  *                    session if the return value is SR_OK, otherwise the value
  *                    is undefined and should not be used. Must not be NULL.
@@ -71,7 +72,8 @@ struct datafeed_callback {
  *
  * @since 0.4.0
  */
-SR_API int sr_session_new(struct sr_session **new_session)
+SR_API int sr_session_new(struct sr_context *ctx,
+               struct sr_session **new_session)
 {
        struct sr_session *session;
 
index 91d4d7775f9f2223e3f4ca58f3259d8fcfa2cbcd..9a1e316e8fd0411158215d011d9ed91b8d7fc00d 100644 (file)
@@ -105,6 +105,7 @@ SR_PRIV int sr_sessionfile_check(const char *filename)
 /**
  * Load the session from the specified filename.
  *
+ * @param ctx The context in which to load the session.
  * @param filename The name of the session file to load.
  * @param session The session to load the file into.
  *
@@ -113,7 +114,8 @@ SR_PRIV int sr_sessionfile_check(const char *filename)
  * @retval SR_ERR_DATA Malformed session file
  * @retval SR_ERR This is not a session file
  */
-SR_API int sr_session_load(const char *filename, struct sr_session **session)
+SR_API int sr_session_load(struct sr_context *ctx, const char *filename,
+               struct sr_session **session)
 {
        GKeyFile *kf;
        GPtrArray *capturefiles;
@@ -151,7 +153,7 @@ SR_API int sr_session_load(const char *filename, struct sr_session **session)
                return SR_ERR;
        }
 
-       if ((ret = sr_session_new(session)) != SR_OK)
+       if ((ret = sr_session_new(ctx, session)) != SR_OK)
                return ret;
 
        ret = SR_OK;